Improve collab logging (#2487)

This adds some logging to the collab server, to help us identify the
source of the collaboration latency we're seeing in the 0.87 preview
version of zed.
This commit is contained in:
Max Brunsfeld
2023-05-18 14:17:17 -07:00
committed by GitHub
3 changed files with 11 additions and 5 deletions
Generated
+1 -1
View File
@@ -1230,7 +1230,7 @@ dependencies = [
[[package]]
name = "collab"
version = "0.12.1"
version = "0.12.3"
dependencies = [
"anyhow",
"async-tungstenite",
+1 -1
View File
@@ -3,7 +3,7 @@ authors = ["Nathan Sobo <nathan@zed.dev>"]
default-run = "collab"
edition = "2021"
name = "collab"
version = "0.12.1"
version = "0.12.3"
publish = false
[[bin]]
+9 -3
View File
@@ -51,7 +51,7 @@ use std::{
atomic::{AtomicBool, Ordering::SeqCst},
Arc,
},
time::Duration,
time::{Duration, Instant},
};
use tokio::sync::{watch, Semaphore};
use tower::ServiceBuilder;
@@ -397,10 +397,16 @@ impl Server {
"message received"
);
});
let start_time = Instant::now();
let future = (handler)(*envelope, session);
async move {
if let Err(error) = future.await {
tracing::error!(%error, "error handling message");
let result = future.await;
let duration_ms = start_time.elapsed().as_micros() as f64 / 1000.0;
match result {
Err(error) => {
tracing::error!(%error, ?duration_ms, "error handling message")
}
Ok(()) => tracing::info!(?duration_ms, "finished handling message"),
}
}
.instrument(span)