Skip to content

Commit 7a9b396

Browse files
committed
Added logging at the end of the HTTP response process
1 parent 66ccc94 commit 7a9b396

4 files changed

Lines changed: 29 additions & 3 deletions

File tree

Cargo.lock

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ tokio = { version = "1.37.0", features = ["full"] }
6666
toml = "0.8.13"
6767
tonic = { version = "0.12.3", features = ["channel", "prost", "tls"] }
6868
tonic-build = "0.12.3"
69+
tower-http = { version = "0.6", features = ["trace"] }
6970
tracing = "0.1.40"
7071
tracing-appender = "0.2.3"
7172
tracing-subscriber = { version = "0.3.18", features = ["env-filter", "json"] }

crates/pbs/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ prometheus.workspace = true
2020
reqwest.workspace = true
2121
serde_json.workspace = true
2222
tokio.workspace = true
23+
tower-http.workspace = true
2324
tracing.workspace = true
2425
tree_hash.workspace = true
2526
url.workspace = true

crates/pbs/src/routes/router.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ use cb_common::pbs::{
1111
BUILDER_V1_API_PATH, BUILDER_V2_API_PATH, GET_HEADER_PATH, GET_STATUS_PATH,
1212
REGISTER_VALIDATOR_PATH, RELOAD_PATH, SUBMIT_BLOCK_PATH,
1313
};
14-
use tracing::{trace, warn};
14+
use tower_http::trace::TraceLayer;
15+
use tracing::{info, trace, warn};
1516
use uuid::Uuid;
1617

1718
use super::{
@@ -27,7 +28,7 @@ use crate::{
2728

2829
pub fn create_app_router<S: BuilderApiState, A: BuilderApi<S>>(state: PbsStateGuard<S>) -> Router {
2930
// DefaultBodyLimit is 2Mib by default, so we only increase it for a few routes
30-
// thay may need more
31+
// that may need more
3132

3233
let v1_builder_routes = Router::new()
3334
.route(GET_HEADER_PATH, get(handle_get_header::<S, A>))
@@ -51,7 +52,13 @@ pub fn create_app_router<S: BuilderApiState, A: BuilderApi<S>>(state: PbsStateGu
5152
let v2_builder_router = Router::new().nest(BUILDER_V2_API_PATH, v2_builder_routes);
5253
let reload_router = Router::new().route(RELOAD_PATH, post(handle_reload::<S, A>));
5354
let builder_api =
54-
Router::new().merge(v1_builder_router).merge(v2_builder_router).merge(reload_router);
55+
Router::new().merge(v1_builder_router).merge(v2_builder_router).merge(reload_router).layer(
56+
TraceLayer::new_for_http().on_response(
57+
|response: &Response, latency: std::time::Duration, _: &tracing::Span| {
58+
info!("Responded with {} in {} ms", response.status(), latency.as_millis());
59+
},
60+
),
61+
);
5562

5663
let app = if let Some(extra_routes) = A::extra_routes() {
5764
builder_api.merge(extra_routes)

0 commit comments

Comments
 (0)