From b2ec4b057233b7e013b4f6246dddef46012760d1 Mon Sep 17 00:00:00 2001 From: Abiba Date: Mon, 25 May 2026 19:45:21 +0000 Subject: [PATCH] fix: throughput panel handles streaming-only models gracefully - Dashboard: when a model has zero non-streaming records, shows "streaming only" instead of misleading 0 tok/s - Dashboard: minimum bar width enforced (6% avg, 4% p50) so low-tps models are always visible - Router: removed inflated streaming tps estimate (prompt tokens skewed results for long conversations) Fixes Dense model appearing to "register nothing" when Mumuni sends mostly streaming requests. --- dashboard/dashboard.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/dashboard/dashboard.py b/dashboard/dashboard.py index 5e9fdfa..f141330 100644 --- a/dashboard/dashboard.py +++ b/dashboard/dashboard.py @@ -221,9 +221,13 @@ $('perf-latency').innerHTML=latHTML; var maxTps=Math.max(...models.map(function(m){return m.throughput.avg_tokens_per_sec||0}),1); var tpsHTML=models.map(function(m){ var t=m.throughput||{},avg=t.avg_tokens_per_sec||0,p50=t.p50||0,c=mcol[m.model]||'#38bdf8'; +var isAllStreaming = avg===0 && p50===0; +if(isAllStreaming){ +return'
'+mlab[m.model]+'streaming only
t/s available for non-streaming requests only
'; +} return'
'+mlab[m.model]+''+avg+' tok/s
'+ -'
avg
'+ -'
p50
'+p50+' tok/s
'; +'
avg
'+avg+' tok/s
'+ +'
p50
'+p50+' tok/s
'; }).join(''); $('perf-throughput').innerHTML=tpsHTML; // Routing reasons table