Log how long it takes to handle each RPC message
This commit is contained in:
parent
bd29812391
commit
c71b59b248
1 changed files with 9 additions and 3 deletions
|
@ -51,7 +51,7 @@ use std::{
|
||||||
atomic::{AtomicBool, Ordering::SeqCst},
|
atomic::{AtomicBool, Ordering::SeqCst},
|
||||||
Arc,
|
Arc,
|
||||||
},
|
},
|
||||||
time::Duration,
|
time::{Duration, Instant},
|
||||||
};
|
};
|
||||||
use tokio::sync::{watch, Semaphore};
|
use tokio::sync::{watch, Semaphore};
|
||||||
use tower::ServiceBuilder;
|
use tower::ServiceBuilder;
|
||||||
|
@ -397,10 +397,16 @@ impl Server {
|
||||||
"message received"
|
"message received"
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
let start_time = Instant::now();
|
||||||
let future = (handler)(*envelope, session);
|
let future = (handler)(*envelope, session);
|
||||||
async move {
|
async move {
|
||||||
if let Err(error) = future.await {
|
let result = future.await;
|
||||||
tracing::error!(%error, "error handling message");
|
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)
|
.instrument(span)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue