freeze stream age after request finish

This commit is contained in:
2026-06-29 19:41:22 +08:00
parent f1a755eebe
commit be22c84497
+5 -3
View File
@@ -310,7 +310,7 @@ function durationSeconds(value?: number | null) {
return typeof value === "number" && Number.isFinite(value) ? `${(value / 1000).toFixed(2)} s` : "-";
}
function secondsSince(value: string | null | undefined, nowMs: number) {
function secondsSince(value: string | null | undefined, nowMs: number, freezeAt?: string | null) {
if (!value) {
return "-";
}
@@ -318,7 +318,9 @@ function secondsSince(value: string | null | undefined, nowMs: number) {
if (Number.isNaN(atMs)) {
return "-";
}
return `${Math.max(0, (nowMs - atMs) / 1000).toFixed(1)} s`;
const freezeMs = freezeAt ? new Date(freezeAt).getTime() : Number.NaN;
const endMs = Number.isNaN(freezeMs) ? nowMs : freezeMs;
return `${Math.max(0, (endMs - atMs) / 1000).toFixed(1)} s`;
}
function bytesFormat(value?: number | null) {
@@ -1042,7 +1044,7 @@ export default function App() {
<span className="meta-pill meta-stream">
<span className="meta-key"></span>
{entry.response_stream
? `${numberFormat(entry.stream_chunk_count)} chunk / ${bytesFormat(entry.response_bytes_received)} / ${secondsSince(entry.last_activity_at || entry.usage_last_updated_at, nowMs)}`
? `${numberFormat(entry.stream_chunk_count)} chunk / ${bytesFormat(entry.response_bytes_received)} / ${secondsSince(entry.last_activity_at || entry.usage_last_updated_at, nowMs, entry.finished_at)}`
: "-"}
</span>
<span className="meta-pill meta-received">