From dd01900ce0023d4260d3560279a584baa058387c Mon Sep 17 00:00:00 2001 From: niuran Date: Sat, 11 Oct 2025 19:54:16 +0800 Subject: [PATCH 1/2] Draft MR From 53b8b13ab0c06dd9baa2e8bbbc6de353a4f52579 Mon Sep 17 00:00:00 2001 From: niuran <1287936158@qq.com> Date: Tue, 14 Oct 2025 02:17:53 +0000 Subject: [PATCH 2/2] feat(logs): add time duration selection for logs --- .../serverless/AdminServerlessLogs.vue | 155 +++--- .../ApplicationSpaceDetail.vue | 452 +++++++++++------- .../src/components/endpoints/EndpointLogs.vue | 52 +- .../src/components/notebooks/NotebookLogs.vue | 375 +++++++++++++++ frontend/src/locales/en_js/endpoints.js | 10 + frontend/src/locales/zh_hant_js/endpoints.js | 10 + frontend/src/locales/zh_js/endpoints.js | 182 +++---- 7 files changed, 904 insertions(+), 332 deletions(-) create mode 100644 frontend/src/components/notebooks/NotebookLogs.vue diff --git a/frontend/src/components/admin_next/serverless/AdminServerlessLogs.vue b/frontend/src/components/admin_next/serverless/AdminServerlessLogs.vue index 79fc117dc..ff96b5d5b 100644 --- a/frontend/src/components/admin_next/serverless/AdminServerlessLogs.vue +++ b/frontend/src/components/admin_next/serverless/AdminServerlessLogs.vue @@ -1,31 +1,41 @@ \ No newline at end of file + diff --git a/frontend/src/components/application_spaces/ApplicationSpaceDetail.vue b/frontend/src/components/application_spaces/ApplicationSpaceDetail.vue index 2fc268bec..46a8c691a 100644 --- a/frontend/src/components/application_spaces/ApplicationSpaceDetail.vue +++ b/frontend/src/components/application_spaces/ApplicationSpaceDetail.vue @@ -22,7 +22,9 @@ @toggleSpaceLogsDrawer="toggleSpaceLogsDrawer" /> -
+
- +
@@ -89,7 +90,7 @@ @click="toggleDrawerSize" svgName="chevron-up" /> @@ -101,12 +102,18 @@
- - - + + +
- @@ -114,6 +121,18 @@
+ + +
diff --git a/frontend/src/locales/en_js/endpoints.js b/frontend/src/locales/en_js/endpoints.js index 67030c87c..fa0362d41 100644 --- a/frontend/src/locales/en_js/endpoints.js +++ b/frontend/src/locales/en_js/endpoints.js @@ -120,5 +120,15 @@ export const endpoints = { one_w: "Last 1 week", usageInPercent: "Usage in percent", usageInGb: "Usage in GB", + }, + timeDurations: { + '10mins': 'Last 10mins', + '30mins': 'Last 30mins', + '1hour': 'Last 1hour', + '6hours': 'Last 6hours', + '1day': 'Last 1day', + '2days': 'Last 2days', + '1week': 'Last 1week', + 'all': "All" } } \ No newline at end of file diff --git a/frontend/src/locales/zh_hant_js/endpoints.js b/frontend/src/locales/zh_hant_js/endpoints.js index 399914509..852bf3f35 100644 --- a/frontend/src/locales/zh_hant_js/endpoints.js +++ b/frontend/src/locales/zh_hant_js/endpoints.js @@ -120,5 +120,15 @@ export const endpoints = { one_w: "最近 1 周", usageInPercent: "用量百分比", usageInGb: "用量GB", + }, + timeDurations: { + '10mins': '最近 10 分鐘', + '30mins': '最近 30 分鐘', + '1hour': '最近 1 小時', + '6hours': '最近 6 小時', + '1day': '最近 1 天', + '2days': '最近 2 天', + '1week': '最近 1 週', + 'all': '全部' } } \ No newline at end of file diff --git a/frontend/src/locales/zh_js/endpoints.js b/frontend/src/locales/zh_js/endpoints.js index b5c30f12b..6063fb639 100644 --- a/frontend/src/locales/zh_js/endpoints.js +++ b/frontend/src/locales/zh_js/endpoints.js @@ -1,8 +1,8 @@ export const endpoints = { - title: "专属实例", + title: '专属实例', loading: '正在加载专属实例信息...', resourceType: '资源类型', - replica: "弹性副本", + replica: '弹性副本', summary: '概览', logDownload: '下载日志', gpuMemoryRequired: '最小显存需求:', @@ -15,70 +15,71 @@ export const endpoints = { endpointStatus: '实例状态' }, new: { - title: "新建专属实例", - desc: "将模型部署到专属实例,", - guide: "查看部署指南", - name: "实例名称", - modelId: "模型 ID", - modelIdTip: "请输入模型ID", - minReplica: "最小弹性副本", - maxReplica: "最大弹性副本", - resource: "资源配置", - resourceTip1: "您可以随时在实例设置中切换到不同的实例云资源。", - resourceTip2: "切换到付费资源后,将根据使用时长向您收取费用。", - framework: "运行时框架", - cluster: "区域", - public: "公开", - publicDesc: "任何互联网上的人都可以访问这个实例。", - private: "私有", - privateDesc: "只有你(个人)或你所在组织的成员可以访问这个实例。", - createEndpoint: "新建实例", - dedicated: "专属实例", - tip: "应用于专属实例,创建后不可更改", - createSuccess: "专属实例创建成功", - createFail: "专属实例创建失败", - quantization: "量化", - engineArgs: "框架参数", - frameworkVersion: "框架版本", - frameworkVersionTip: "请选择框架版本", - frameworkInputTip: "请首先填写模型ID", - serverlessSelectPlaceholder: "请选择", - serverlessCluster: "请选择集群", - serverlessResource: "请输入部署名称", - serverlessFramework: "请选择资源", - serverlessDeploy: "请选择运行时框架", - autoShutdownTip: "超过1小时无操作将自动关闭", + title: '新建专属实例', + desc: '将模型部署到专属实例,', + guide: '查看部署指南', + name: '实例名称', + modelId: '模型 ID', + modelIdTip: '请输入模型ID', + minReplica: '最小弹性副本', + maxReplica: '最大弹性副本', + resource: '资源配置', + resourceTip1: '您可以随时在实例设置中切换到不同的实例云资源。', + resourceTip2: '切换到付费资源后,将根据使用时长向您收取费用。', + framework: '运行时框架', + cluster: '区域', + public: '公开', + publicDesc: '任何互联网上的人都可以访问这个实例。', + private: '私有', + privateDesc: '只有你(个人)或你所在组织的成员可以访问这个实例。', + createEndpoint: '新建实例', + dedicated: '专属实例', + tip: '应用于专属实例,创建后不可更改', + createSuccess: '专属实例创建成功', + createFail: '专属实例创建失败', + quantization: '量化', + engineArgs: '框架参数', + frameworkVersion: '框架版本', + frameworkVersionTip: '请选择框架版本', + frameworkInputTip: '请首先填写模型ID', + serverlessSelectPlaceholder: '请选择', + serverlessCluster: '请选择集群', + serverlessResource: '请输入部署名称', + serverlessFramework: '请选择资源', + serverlessDeploy: '请选择运行时框架', + autoShutdownTip: '超过1小时无操作将自动关闭' }, settings: { - stop: "暂停", - restart: "重启", - restartEndpoint: "重启专属实例", - stopEndpoint: "暂停专属实例", - delete: "删除", - deleteEndpoint: "删除专属实例", - delTips: "此操作", - delTips2: "撤销,这将永久删除", - delTips3: "专属实例。", - confirmDel: "我已知晓,确认删除", - namespaceName: "专属实例名称/ID", + stop: '暂停', + restart: '重启', + restartEndpoint: '重启专属实例', + stopEndpoint: '暂停专属实例', + delete: '删除', + deleteEndpoint: '删除专属实例', + delTips: '此操作', + delTips2: '撤销,这将永久删除', + delTips3: '专属实例。', + confirmDel: '我已知晓,确认删除', + namespaceName: '专属实例名称/ID', toggleStatusSuccess: '更新成功,请等待实例状态切换', - statusText: "当前实例目前是", - status: "状态", - changeVisibility: "修改实例可见性", - visibility: "实例可见性", - privateVis: "只有创建者或组织成员可见", - publicVis: "任何人都可以看到此实例", - privateInfo: ",仅创建者或者组织管理员可进行修改", - publicInfo: ", 任何互联网上的人都可以看到此实例。", - resource: "资源配置", - resourceTip: "您可以随时在实例设置中切换到不同的实例云资源。切换到付费资源后,将根据使用时长向您收取费用。", + statusText: '当前实例目前是', + status: '状态', + changeVisibility: '修改实例可见性', + visibility: '实例可见性', + privateVis: '只有创建者或组织成员可见', + publicVis: '任何人都可以看到此实例', + privateInfo: ',仅创建者或者组织管理员可进行修改', + publicInfo: ', 任何互联网上的人都可以看到此实例。', + resource: '资源配置', + resourceTip: + '您可以随时在实例设置中切换到不同的实例云资源。切换到付费资源后,将根据使用时长向您收取费用。', currentCloudResource: '当前云资源', - framework: "运行时框架", + framework: '运行时框架', currentFramework: '当前运行时框架', - maxReplica: "最大弹性副本", - minReplica: "最小弹性副本", - currentMaxReplica: "当前最大弹性副本", - currentMinReplica: "当前最小弹性副本" + maxReplica: '最大弹性副本', + minReplica: '最小弹性副本', + currentMaxReplica: '当前最大弹性副本', + currentMinReplica: '当前最小弹性副本' }, playground: { title: "沙盒", @@ -95,30 +96,41 @@ export const endpoints = { wgDec: '文生图', wgBtn: '图片生成', imageText: '图文生成', - retry: "重试", - undo: "撤销", - clear: "清空", + retry: '重试', + undo: '撤销', + clear: '清空', + copyUrl: '复制链接' }, analysis: { - selectPeriod: "选择时间范围", - selectedInstance: "选择实例", - noInstances: "没有运行中的实例", - httpCount: "HTTP 请求数量", - httpCountForLatency: "HTTP 请求数量延迟分布", - cpuUsage: "CPU 占用(%)", - memoryUsage: "内存 占用(GB)", - refresh: "刷新", - replica: "副本", - totalRequests: "总请求数", - thirty_m: "最近 30 分钟", - one_h: "最近 1 小时", - three_h: "最近 3 小时", - six_h: "最近 6 小时", - twelve_h: "最近 12 小时", - one_d: "最近 1 天", - three_d: "最近 3 天", - one_w: "最近 1 周", - usageInPercent: "用量百分比", - usageInGb: "用量GB", + selectPeriod: '选择时间范围', + selectedInstance: '选择实例', + noInstances: '没有运行中的实例', + httpCount: 'HTTP 请求数量', + httpCountForLatency: 'HTTP 请求数量延迟分布', + cpuUsage: 'CPU 占用(%)', + memoryUsage: '内存 占用(GB)', + refresh: '刷新', + replica: '副本', + totalRequests: '总请求数', + thirty_m: '最近 30 分钟', + one_h: '最近 1 小时', + three_h: '最近 3 小时', + six_h: '最近 6 小时', + twelve_h: '最近 12 小时', + one_d: '最近 1 天', + three_d: '最近 3 天', + one_w: '最近 1 周', + usageInPercent: '用量百分比', + usageInGb: '用量GB' + }, + timeDurations: { + '10mins': '最近 10 分钟', + '30mins': '最近 30 分钟', + '1hour': '最近 1 小时', + '6hours': '最近 6 小时', + '1day': '最近 1 天', + '2days': '最近 2 天', + '1week': '最近 1 周', + 'all': '全部' } -} \ No newline at end of file +}