From 04539328993275e9901babe4fefdda66b3e339a4 Mon Sep 17 00:00:00 2001 From: Clemens Winter Date: Mon, 19 Feb 2024 12:03:55 -0800 Subject: [PATCH] more efficient logging --- src/logging_client/mod.rs | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/logging_client/mod.rs b/src/logging_client/mod.rs index 67eba10e..ace2b079 100644 --- a/src/logging_client/mod.rs +++ b/src/logging_client/mod.rs @@ -82,24 +82,17 @@ impl BackgroundWorker { async fn flush(&self) { let buffer = mem::take(&mut *self.events.lock().unwrap()); for (table, rows) in buffer.into_iter() { - fn bytes_in_row(row: &HashMap) -> usize { - row.iter() - .map(|(k, v)| k.len() + v.to_string().len()) - .sum::() - } - let bytes = rows.iter().map(bytes_in_row).sum::(); + let nrows = rows.len(); + let data_batch = DataBatch { table: table.clone(), rows }; + let serialized = bincode::serialize(&data_batch).unwrap(); log::debug!( "Pushing {} events to {} ({} bytes)", - rows.len(), + nrows, table, - bytes + serialized.len(), ); - let data_batch = DataBatch { table, rows }; - let body = bincode::serialize(&data_batch).unwrap(); - bincode::deserialize::(&body[..]).unwrap(); - - let result = self.client.post(&self.url).body(body).send().await; + let result = self.client.post(&self.url).body(serialized).send().await; match result { Err(err) => { log::warn!(