diff --git a/mindinsight/ui/src/assets/images/comming-soon.png b/mindinsight/ui/src/assets/images/coming-soon.png
similarity index 100%
rename from mindinsight/ui/src/assets/images/comming-soon.png
rename to mindinsight/ui/src/assets/images/coming-soon.png
diff --git a/mindinsight/ui/src/components/header.vue b/mindinsight/ui/src/components/header.vue
index 3c1429e70a6c650446da99225638e557a019642d..2df04b3302bd127d5d5480185ca4f0e62734b48e 100644
--- a/mindinsight/ui/src/components/header.vue
+++ b/mindinsight/ui/src/components/header.vue
@@ -157,13 +157,11 @@ export default {
getActive() {
const str = this.$route.path.split('/');
if (str.length > 2) {
- if (str[1] === 'train-manage') {
+ if (str[1] === 'train-manage' || str[1] === 'profiling') {
return '/summary-manage';
} else {
return '/' + str[1];
}
- } else if (this.$route.path === '/profiler') {
- return '/summary-manage';
} else {
return this.$route.path;
}
diff --git a/mindinsight/ui/src/locales/zh-cn.json b/mindinsight/ui/src/locales/zh-cn.json
index e6f37b9c6058d02965cd37518f6fe80c10aad597..3408f7ad699f0e78b039fd9bb6f3e236c6ff0770 100644
--- a/mindinsight/ui/src/locales/zh-cn.json
+++ b/mindinsight/ui/src/locales/zh-cn.json
@@ -207,7 +207,7 @@
"finish": "完成",
"dataTooLarge": "节点和边的数量过多,导致打开失败"
},
- "profiler": {
+ "operator": {
"titleText": "性能分析",
"currentCard": "当前卡片",
"pie": "饼图",
@@ -220,6 +220,54 @@
"searchByType": "请输入算子类型搜索",
"searchByName": "请输入算子名称搜索"
},
+ "profiling": {
+ "profilingDashboard": "性能看板",
+ "selectStep": "请选择step",
+ "showAverage": "展示平均值",
+ "iterationGapTime": "迭代间隙时间",
+ "time": "时间",
+ "inputNum": "请输入卡编号",
+ "path": "路径",
+ "number": "卡编号",
+ "distribution": "分布图",
+ "queueEmptyRatio": "队列空比例",
+ "queueFullRatio": "队列满比例",
+ "dataQueueDis": "数据队列分布图",
+ "operatorTimeConAnalysis": "算子耗时分析",
+ "timeConStastic": "耗时统计",
+ "avgCost": "平均总耗时",
+ "getCost": "平均取数据耗时",
+ "pushCost": "平均push耗时",
+ "lterationGap": "迭代间隙",
+ "lterationTail": "迭代拖尾",
+ "propertion": "占比",
+ "title": "迭代间隙流程分析",
+ "dataDeal": "数据处理",
+ "dataQueue": "数据队列",
+ "errorTip": "个step出现异常",
+ "pipelineError": "Pipeline异常step",
+ "deviceQueueError": "device_queue_op异常step",
+ "getNextError": "get_next异常step",
+ "smartHelper":"小助手",
+ "suggestions":"优化建议",
+ "stepSelect":"Step选择",
+ "curCard":"当前卡片",
+ "stepTrace":"迭代轨迹",
+ "mindData":"数据准备",
+ "timeLine":"时间线",
+ "rankOfOperator":"算子耗时统计排名",
+ "stepTraceDetail":"迭代轨迹详情",
+ "viewDetail":"查看详情",
+ "stepNum":"耗时step数",
+ "iterGapTimeLabel":"迭代间隙时长",
+ "iterGapRateLabel":"迭代间隙占比",
+ "fpBpTimeLabel":"FP+BP时长",
+ "fpBpRateLabel":"FP+BP占比",
+ "tailTimeLabel":"迭代拖尾时长",
+ "tailRateLabel":"迭代拖尾占比",
+ "operatorDetail": "算子详情",
+ "times": "次"
+ },
"components": {
"summaryTitle": "训练选择",
"tagSelectTitle": "标签选择",
@@ -233,7 +281,6 @@
"50540001": "参数类型错误,请检查请求参数类型是否都符合要求",
"50540002": "参数值错误,请检查请求参数值是否都符合要求",
"50540003": "参数缺失必需的参数,请检查请求参数是否必填项都满足",
-
"50545001": "API 路由资源不存在",
"50545002": "请求API的HTTP方法错误",
"50545005": "训练作业不存在",
@@ -250,6 +297,7 @@
"50542215": "查询参数错误",
"50542216": "Summary日志文件未找到",
"50542217": "Summary日志路径错误",
- "50542218": "筛选参数错误"
+ "50542218": "筛选参数错误",
+ "50546102": "step_id取值错误"
}
}
diff --git a/mindinsight/ui/src/router.js b/mindinsight/ui/src/router.js
index d413d93564c1be0e4de89e0bf263996aa361e740..a009d28e0ea98f11e96e7beecf70005865c9e35d 100644
--- a/mindinsight/ui/src/router.js
+++ b/mindinsight/ui/src/router.js
@@ -67,11 +67,27 @@ export default new Router({
component: () => import('./views/train-manage/data-traceback.vue'),
},
{
- path: '/profiler',
- component: () => import('./views/train-manage/profiler.vue'),
- }, {
path: '/compare-plate',
component: () => import('./views/train-manage/compare-plate.vue'),
},
+ {
+ path: '/profiling',
+ component: () => import('./views/train-manage/profiling.vue'),
+ redirect: '/profiling/profiling-dashboard',
+ children: [
+ {
+ path: 'profiling-dashboard',
+ component: () => import('./views/train-manage/profiling-dashboard.vue'),
+ },
+ {
+ path: 'step-trace',
+ component: () => import('./views/train-manage/step-trace.vue'),
+ },
+ {
+ path: 'operator',
+ component: () => import('./views/train-manage/operator.vue'),
+ },
+ ],
+ },
],
});
diff --git a/mindinsight/ui/src/services/request-service.js b/mindinsight/ui/src/services/request-service.js
index d30a5424b5eddb705801b7d588879bd073dae3f7..53f4bbb933fc99b35e65325051b7f1ce249f36cd 100644
--- a/mindinsight/ui/src/services/request-service.js
+++ b/mindinsight/ui/src/services/request-service.js
@@ -171,6 +171,30 @@ export default {
url: '/v1/mindinsight/profile/ops/search',
params: params.params,
data: params.body,
+ headers: {
+ ignoreError: true,
+ },
+ });
+ },
+ // query training trace
+ queryTrainingTrace(params) {
+ return axios({
+ method: 'get',
+ url: '/v1/mindinsight/profile/training-trace/graph',
+ params: params,
+ headers: {
+ ignoreError: true,
+ },
+ });
+ },
+ targetTimeInfo(params) {
+ return axios({
+ method: 'get',
+ url: '/v1/mindinsight/profile/training-trace/target-time-info',
+ params: params,
+ headers: {
+ ignoreError: true,
+ },
});
},
};
diff --git a/mindinsight/ui/src/views/train-manage/data-map.vue b/mindinsight/ui/src/views/train-manage/data-map.vue
index 02ec0fa77546670c574f0dd4eb23e5d0835b05d9..cfe0fa0a3d25910532e826d4e8c36616180e10dc 100644
--- a/mindinsight/ui/src/views/train-manage/data-map.vue
+++ b/mindinsight/ui/src/views/train-manage/data-map.vue
@@ -168,11 +168,11 @@ export default {
if (!this.$route.query || !this.$route.query.train_id) {
this.trainJobID = '';
this.$message.error(this.$t('trainingDashboard.invalidId'));
- document.title = this.$t('trainingDashboard.dataMap') + '-MindInsight';
+ document.title = `${this.$t('trainingDashboard.dataMap')}-MindInsight`;
return;
}
this.trainJobID = this.$route.query.train_id;
- document.title = decodeURIComponent(this.trainJobID) + '-' + this.$t('trainingDashboard.dataMap') + '-MindInsight';
+ document.title = `${decodeURIComponent(this.trainJobID)}-${this.$t('trainingDashboard.dataMap')}-MindInsight`;
this.$nextTick(() => {
this.queryGraphData();
});
diff --git a/mindinsight/ui/src/views/train-manage/profiler.vue b/mindinsight/ui/src/views/train-manage/profiler.vue
deleted file mode 100644
index 151b39adacba237fd2953988669e31b23131e11a..0000000000000000000000000000000000000000
--- a/mindinsight/ui/src/views/train-manage/profiler.vue
+++ /dev/null
@@ -1,1262 +0,0 @@
-
- {{ $t("public.noData") }} {{$t("public.noData")}}
-
-
+
{{$t("public.stayTuned")}}