mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-01 17:00:21 +08:00
feat(usage): 新增输出速度统计与请求详情性能分析
- 把 upstream_is_stream 物化到 usage 与 billing facts,避免 Provider 聚合回连 public.usage - 统一前端标准/流式 TPS 计算与显示,流式按首字后生成耗时计算 - 新增请求详情抽屉展示单请求输出速度与 Provider 聚合 TPS
This commit is contained in:
@@ -877,6 +877,7 @@ async fn gateway_handles_admin_stats_provider_performance_locally_with_trusted_a
|
||||
);
|
||||
row.response_time_ms = Some((index * 100) as u64);
|
||||
row.first_byte_time_ms = Some((index * 10) as u64);
|
||||
row.request_metadata = Some(json!({ "upstream_is_stream": true }));
|
||||
row
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
@@ -956,7 +957,7 @@ async fn gateway_handles_admin_stats_provider_performance_locally_with_trusted_a
|
||||
let payload: serde_json::Value = response.json().await.expect("json body should parse");
|
||||
assert_eq!(payload["summary"]["request_count"], 12);
|
||||
assert_eq!(payload["summary"]["success_rate"], 91.67);
|
||||
assert_eq!(payload["summary"]["avg_output_tps"], 18.46);
|
||||
assert_eq!(payload["summary"]["avg_output_tps"], 20.17);
|
||||
assert_eq!(payload["summary"]["avg_first_byte_time_ms"], 55.0);
|
||||
assert_eq!(payload["summary"]["avg_response_time_ms"], 590.91);
|
||||
|
||||
@@ -968,7 +969,7 @@ async fn gateway_handles_admin_stats_provider_performance_locally_with_trusted_a
|
||||
assert_eq!(payload["providers"][0]["error_count"], 1);
|
||||
assert_eq!(payload["providers"][0]["success_rate"], 90.91);
|
||||
assert_eq!(payload["providers"][0]["output_tokens"], 199);
|
||||
assert_eq!(payload["providers"][0]["avg_output_tps"], 18.18);
|
||||
assert_eq!(payload["providers"][0]["avg_output_tps"], 20.2);
|
||||
assert_eq!(payload["providers"][0]["avg_first_byte_time_ms"], 55.0);
|
||||
assert_eq!(payload["providers"][0]["avg_response_time_ms"], 550.0);
|
||||
assert_eq!(payload["providers"][0]["p90_response_time_ms"], 910);
|
||||
@@ -991,7 +992,7 @@ async fn gateway_handles_admin_stats_provider_performance_locally_with_trusted_a
|
||||
assert_eq!(payload["timeline"].as_array().map(Vec::len), Some(2));
|
||||
assert_eq!(payload["timeline"][0]["date"], "2024-03-21T05:00:00+00:00");
|
||||
assert_eq!(payload["timeline"][0]["provider_id"], "provider-1");
|
||||
assert_eq!(payload["timeline"][0]["avg_output_tps"], 18.18);
|
||||
assert_eq!(payload["timeline"][0]["avg_output_tps"], 20.2);
|
||||
assert_eq!(payload["timeline"][0]["success_rate"], 90.91);
|
||||
assert_eq!(payload["timeline"][1]["provider_id"], "provider-2");
|
||||
assert_eq!(
|
||||
|
||||
Reference in New Issue
Block a user