From 4733f9c02ae628b740af6529f2c51d9746a06037 Mon Sep 17 00:00:00 2001 From: AskaEth Date: Tue, 23 Jun 2026 19:45:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=89=8D=E7=AB=AF=E8=BF=BD=E8=B8=AA?= =?UTF-8?q?=E6=97=B6=E9=97=B4=20=E2=80=94=20=E4=B8=89=E5=A4=84toISOString(?= =?UTF-8?q?)=E5=85=A8=E9=83=A8=E6=9B=BF=E6=8D=A2=E4=B8=BA=E6=9C=AC?= =?UTF-8?q?=E5=9C=B0=E6=97=B6=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - traceHopHtml 直接用后端格式化好的 timestamp - llmCallToTrace 用前端 fmtLocal() - 实时流事件用本地时间格式化 --- ethend/public/index.html | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ethend/public/index.html b/ethend/public/index.html index 36d9928..5725bd9 100644 --- a/ethend/public/index.html +++ b/ethend/public/index.html @@ -6109,7 +6109,7 @@ async function renderVMMonitorPanel() { for (var i = 0; i < allCalls.length; i++) { var call = allCalls[i]; - var ts = new Date(call.timestamp / 1e6).toISOString().replace('T', ' ').slice(0, 19); + var d = new Date(call.timestamp / 1e6); var ts = d.getFullYear()+'-'+String(d.getMonth()+1).padStart(2,'0')+'-'+String(d.getDate()).padStart(2,'0')+' '+String(d.getHours()).padStart(2,'0')+':'+String(d.getMinutes()).padStart(2,'0')+':'+String(d.getSeconds()).padStart(2,'0'); var successIcon = call.success ? '✅' : '❌'; var args = {}; try { args = JSON.parse(call.arguments || '{}'); } catch(e) {} @@ -6142,6 +6142,7 @@ async function renderVMMonitorPanel() { } // ========== 全链路追踪面板 ========== +function fmtLocal(ts) { var d = new Date(ts); var p = function(n) { return n < 10 ? '0' + n : '' + n; }; return d.getFullYear() + '-' + p(d.getMonth()+1) + '-' + p(d.getDate()) + ' ' + p(d.getHours()) + ':' + p(d.getMinutes()) + ':' + p(d.getSeconds()); } var traceMode = 'recent'; // 'recent' | 'session' var traceSessionId = ''; var traceStreamSource = null; @@ -6372,7 +6373,7 @@ function pruneTimeline() { } function traceHopHtml(t, prevT) { - var time = new Date(t.timestamp).toISOString().replace('T', ' ').slice(0, 19); + var time = t.timestamp; // already local time from backend var isError = t.status === 'error'; var gapHtml = ''; @@ -6425,7 +6426,7 @@ function llmCallToTrace(call) { var ts = call.time ? new Date(call.time).getTime() : Date.now(); return { id: 'llm-' + ts + '-' + Math.random().toString(36).slice(2, 6), - timestamp: new Date(ts).toISOString(), + timestamp: fmtLocal(ts), ts: ts, service: 'ai-core', hop: 'llm_call',