From 7c4bedda8721e888d2bd6caf1b43174c92ef34a3 Mon Sep 17 00:00:00 2001 From: Aleksander Grygier Date: Sat, 24 Jan 2026 13:58:23 +0100 Subject: [PATCH] feat: Improve formatting performance time --- .../ChatMessages/ChatMessageStatistics.svelte | 25 +++++------ .../server/webui/src/lib/utils/formatters.ts | 41 +++++++++++++++++++ 2 files changed, 54 insertions(+), 12 deletions(-) diff --git a/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageStatistics.svelte b/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageStatistics.svelte index 2be4974348..b4b1042257 100644 --- a/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageStatistics.svelte +++ b/tools/server/webui/src/lib/components/app/chat/ChatMessages/ChatMessageStatistics.svelte @@ -4,6 +4,7 @@ import * as Tooltip from '$lib/components/ui/tooltip'; import { ChatMessageStatsView } from '$lib/enums'; import type { ChatMessageAgenticTimings } from '$lib/types/chat'; + import { formatPerformanceTime } from '$lib/utils/formatters'; interface Props { predictedTokens?: number; @@ -57,8 +58,8 @@ ); let tokensPerSecond = $derived(hasGenerationStats ? (predictedTokens! / predictedMs!) * 1000 : 0); - let timeInSeconds = $derived( - predictedMs !== undefined ? (predictedMs / 1000).toFixed(2) : '0.00' + let formattedTime = $derived( + predictedMs !== undefined ? formatPerformanceTime(predictedMs) : '0s' ); let promptTokensPerSecond = $derived( @@ -67,15 +68,15 @@ : undefined ); - let promptTimeInSeconds = $derived( - promptMs !== undefined ? (promptMs / 1000).toFixed(2) : undefined + let formattedPromptTime = $derived( + promptMs !== undefined ? formatPerformanceTime(promptMs) : undefined ); let hasPromptStats = $derived( promptTokens !== undefined && promptMs !== undefined && promptTokensPerSecond !== undefined && - promptTimeInSeconds !== undefined + formattedPromptTime !== undefined ); // In live mode, generation tab is disabled until we have generation stats @@ -89,8 +90,8 @@ : 0 ); - let agenticToolsTimeInSeconds = $derived( - hasAgenticStats ? (agenticTimings!.toolsMs / 1000).toFixed(2) : '0.00' + let formattedAgenticToolsTime = $derived( + hasAgenticStats ? formatPerformanceTime(agenticTimings!.toolsMs) : '0s' ); let agenticTotalTimeMs = $derived( @@ -99,7 +100,7 @@ : 0 ); - let agenticTotalTimeInSeconds = $derived((agenticTotalTimeMs / 1000).toFixed(2)); + let formattedAgenticTotalTime = $derived(formatPerformanceTime(agenticTotalTimeMs));
@@ -200,7 +201,7 @@ {:else if hasPromptStats} @@ -257,7 +258,7 @@ 0) { + parts.push(`${hours}h`); + } + + if (minutes > 0) { + parts.push(`${minutes}min`); + } + + if (seconds > 0 || parts.length === 0) { + parts.push(`${seconds}s`); + } + + return parts.join(' '); +}