Tiny add back missing router per attempt response metric (#15621)

This commit is contained in:
fzyzcjy
2025-12-22 09:59:10 -08:00
committed by GitHub
parent 6984837d82
commit b736a1525a
+13 -3
View File
@@ -40,7 +40,7 @@ use crate::{
responses::{ResponsesGetParams, ResponsesRequest}, responses::{ResponsesGetParams, ResponsesRequest},
}, },
routers::{ routers::{
error, error::{self, extract_error_code_from_response},
grpc::utils::{error_type_from_status, route_to_endpoint}, grpc::utils::{error_type_from_status, route_to_endpoint},
header_utils, parse, RouterTrait, header_utils, parse, RouterTrait,
}, },
@@ -212,8 +212,18 @@ impl Router {
&self.retry_config, &self.retry_config,
// operation per attempt // operation per attempt
|_: u32| async { |_: u32| async {
self.route_typed_request_once(headers, typed_req, route, model_id, is_stream, &text) let res = self
.await .route_typed_request_once(headers, typed_req, route, model_id, is_stream, &text)
.await;
// Need to be outside `route_typed_request_once` because that function has multiple return paths
Metrics::record_router_upstream_response(
metrics_labels::ROUTER_HTTP,
res.status().as_u16(),
extract_error_code_from_response(&res),
);
res
}, },
// should_retry predicate // should_retry predicate
|res, _attempt| is_retryable_status(res.status()), |res, _attempt| is_retryable_status(res.status()),