diff --git a/sgl-model-gateway/src/middleware.rs b/sgl-model-gateway/src/middleware.rs index 3b5c5321f..6b61a1482 100644 --- a/sgl-model-gateway/src/middleware.rs +++ b/sgl-model-gateway/src/middleware.rs @@ -334,7 +334,9 @@ impl OnResponse for ResponseLogger { let status = response.status(); let status_code = status.as_u16(); + // TODO support `route` information RouterMetrics::record_http_status_code(status_code); + RouterMetrics::record_request_duration(latency); // Record these in the span for structured logging/observability tools span.record("status_code", status_code); diff --git a/sgl-model-gateway/src/observability/metrics.rs b/sgl-model-gateway/src/observability/metrics.rs index 28fac8d03..49cd8c3c6 100644 --- a/sgl-model-gateway/src/observability/metrics.rs +++ b/sgl-model-gateway/src/observability/metrics.rs @@ -30,7 +30,7 @@ pub fn init_metrics() { ); describe_histogram!( "sgl_router_request_duration_seconds", - "Request duration in seconds by route" + "Request duration in seconds" ); describe_counter!( "sgl_router_request_errors_total", @@ -314,10 +314,8 @@ impl RouterMetrics { .increment(1); } - pub fn record_request_duration(route: &str, duration: Duration) { - histogram!("sgl_router_request_duration_seconds", - "route" => route.to_string() - ) + pub fn record_request_duration(duration: Duration) { + histogram!("sgl_router_request_duration_seconds") .record(duration.as_secs_f64()); } @@ -920,7 +918,7 @@ mod tests { #[test] fn test_metrics_static_methods() { RouterMetrics::record_request("/generate"); - RouterMetrics::record_request_duration("/generate", Duration::from_millis(100)); + RouterMetrics::record_request_duration(Duration::from_millis(100)); RouterMetrics::record_request_error("/generate", "timeout"); RouterMetrics::record_retry("/generate"); @@ -1079,7 +1077,7 @@ mod tests { RouterMetrics::set_worker_load("worker", 0); RouterMetrics::set_worker_load("worker", usize::MAX); - RouterMetrics::record_request_duration("route", Duration::from_nanos(1)); - RouterMetrics::record_request_duration("route", Duration::from_secs(86400)); + RouterMetrics::record_request_duration(Duration::from_nanos(1)); + RouterMetrics::record_request_duration(Duration::from_secs(86400)); } }