From bd8eadb75b92601e4aabe4353b0abd9600af7836 Mon Sep 17 00:00:00 2001 From: Ethan0x0000 <3352979663@qq.com> Date: Sun, 22 Mar 2026 19:56:29 +0800 Subject: [PATCH] feat(ops): enhance error observability with additional context fields and UI updates --- frontend/src/api/admin/ops.ts | 7 ++ frontend/src/i18n/locales/en.ts | 17 ++++- frontend/src/i18n/locales/zh.ts | 17 ++++- .../ops/components/OpsErrorDetailModal.vue | 39 ++++++++++- .../admin/ops/components/OpsErrorLogTable.vue | 64 +++++++++++++++++-- 5 files changed, 135 insertions(+), 9 deletions(-) diff --git a/frontend/src/api/admin/ops.ts b/frontend/src/api/admin/ops.ts index 64f6a6d0..ac58eff4 100644 --- a/frontend/src/api/admin/ops.ts +++ b/frontend/src/api/admin/ops.ts @@ -969,6 +969,13 @@ export interface OpsErrorLog { client_ip?: string | null request_path?: string stream?: boolean + + // Error observability context (endpoint + model mapping) + inbound_endpoint?: string + upstream_endpoint?: string + requested_model?: string + upstream_model?: string + request_type?: number | null } export interface OpsErrorDetail extends OpsErrorLog { diff --git a/frontend/src/i18n/locales/en.ts b/frontend/src/i18n/locales/en.ts index e5a370c8..b5bba9a2 100644 --- a/frontend/src/i18n/locales/en.ts +++ b/frontend/src/i18n/locales/en.ts @@ -3486,7 +3486,12 @@ export default { typeRequest: 'Request', typeAuth: 'Auth', typeRouting: 'Routing', - typeInternal: 'Internal' + typeInternal: 'Internal', + endpoint: 'Endpoint', + requestType: 'Type', + requestTypeSync: 'Sync', + requestTypeStream: 'Stream', + requestTypeWs: 'WS' }, // Error Details Modal errorDetails: { @@ -3572,6 +3577,16 @@ export default { latency: 'Request Duration', businessLimited: 'Business Limited', requestPath: 'Request Path', + inboundEndpoint: 'Inbound Endpoint', + upstreamEndpoint: 'Upstream Endpoint', + requestedModel: 'Requested Model', + upstreamModel: 'Upstream Model', + requestType: 'Request Type', + requestTypeUnknown: 'Unknown', + requestTypeSync: 'Sync', + requestTypeStream: 'Stream', + requestTypeWs: 'WebSocket', + modelMapping: 'Model Mapping', timings: 'Timings', auth: 'Auth', routing: 'Routing', diff --git a/frontend/src/i18n/locales/zh.ts b/frontend/src/i18n/locales/zh.ts index ac6632be..05c69426 100644 --- a/frontend/src/i18n/locales/zh.ts +++ b/frontend/src/i18n/locales/zh.ts @@ -3651,7 +3651,12 @@ export default { typeRequest: '请求', typeAuth: '认证', typeRouting: '路由', - typeInternal: '内部' + typeInternal: '内部', + endpoint: '端点', + requestType: '类型', + requestTypeSync: '同步', + requestTypeStream: '流式', + requestTypeWs: 'WS' }, // Error Details Modal errorDetails: { @@ -3737,6 +3742,16 @@ export default { latency: '请求时长', businessLimited: '业务限制', requestPath: '请求路径', + inboundEndpoint: '入站端点', + upstreamEndpoint: '上游端点', + requestedModel: '请求模型', + upstreamModel: '上游模型', + requestType: '请求类型', + requestTypeUnknown: '未知', + requestTypeSync: '同步', + requestTypeStream: '流式', + requestTypeWs: 'WebSocket', + modelMapping: '模型映射', timings: '时序信息', auth: '认证', routing: '路由', diff --git a/frontend/src/views/admin/ops/components/OpsErrorDetailModal.vue b/frontend/src/views/admin/ops/components/OpsErrorDetailModal.vue index a7edff96..4bcd0c41 100644 --- a/frontend/src/views/admin/ops/components/OpsErrorDetailModal.vue +++ b/frontend/src/views/admin/ops/components/OpsErrorDetailModal.vue @@ -59,7 +59,28 @@