Fix provider key response time overflow

This commit is contained in:
yangrs
2026-07-09 14:40:48 +08:00
parent 5e1d14f19b
commit 192dc6c20d
9 changed files with 43 additions and 16 deletions
@@ -1202,7 +1202,7 @@ fn provider_query_pool_catalog_key_context(
.filter(|count| *count > 0)
.zip(key.total_response_time_ms)
.map(|(success_count, total_response_time_ms)| {
f64::from(total_response_time_ms) / f64::from(success_count)
total_response_time_ms as f64 / f64::from(success_count)
})
.filter(|value| value.is_finite() && *value >= 0.0);
@@ -112,7 +112,7 @@ pub(crate) async fn build_admin_keys_grouped_by_format_payload(
None
};
let avg_response_time_ms = if success_count > 0 {
Some(f64::from(key.total_response_time_ms.unwrap_or(0)) / success_count as f64)
Some(key.total_response_time_ms.unwrap_or(0) as f64 / success_count as f64)
} else {
None
};
@@ -2309,7 +2309,7 @@ pub(crate) fn build_admin_provider_key_response(
let request_count = u64::from(key.request_count.unwrap_or(0));
let success_count = u64::from(key.success_count.unwrap_or(0));
let error_count = u64::from(key.error_count.unwrap_or(0));
let total_response_time_ms = f64::from(key.total_response_time_ms.unwrap_or(0));
let total_response_time_ms = key.total_response_time_ms.unwrap_or(0) as f64;
let success_rate = if request_count > 0 {
success_count as f64 / request_count as f64
} else {