fix(monitor): fix statistics logic issues in monitor charts

Changes:
- Fix hourly token chart incorrectly counting failed request tokens
- Fix daily trend chart using UTC date causing cross-day statistics errors
- Daily trend chart now distinguishes success/failed request counts
- Token statistics only count successful requests for more accurate data

Modified files:
- src/components/monitor/DailyTrendChart.tsx (modified)
- src/components/monitor/HourlyTokenChart.tsx (modified)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
kongkongyo
2026-01-14 17:34:37 +08:00
parent 290ce72948
commit 3b77c7f81f
2 changed files with 31 additions and 6 deletions

View File

@@ -48,10 +48,13 @@ export function HourlyTokenChart({ data, loading, isDark }: HourlyTokenChartProp
hourlyStats[hour] = { total: 0, input: 0, output: 0, reasoning: 0, cached: 0 };
});
// 收集每小时的 Token 数据
// 收集每小时的 Token 数据(只统计成功请求)
Object.values(data.apis).forEach((apiData) => {
Object.values(apiData.models).forEach((modelData) => {
modelData.details.forEach((detail) => {
// 跳过失败请求,失败请求的 Token 数据不准确
if (detail.failed) return;
const timestamp = new Date(detail.timestamp);
if (timestamp < cutoffTime) return;