From c3ba42406c80b6e47b7cb7d6fcc4ae97bc2bab3b Mon Sep 17 00:00:00 2001 From: zhangyu Date: Fri, 13 Oct 2023 17:17:42 +0800 Subject: [PATCH] =?UTF-8?q?NEZ-3213=20feat:=20project=20topology=20data=20?= =?UTF-8?q?=E8=A1=A8=E8=BE=BE=E5=BC=8F=E8=BE=93=E5=85=A5=E6=A1=86=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../project/meta2d/js/meta2dMainCalc.js | 2 +- .../common/project/meta2d/js/topoUtil.js | 12 ++- .../common/project/meta2d/meta2dData.vue | 79 +++++++++++++++---- .../common/rightBox/chart/chartConfig.vue | 7 +- .../page/dashboard/explore/exploreItem.vue | 11 +-- .../explore/queryPrompt/queryPrompt.vue | 10 +-- 6 files changed, 91 insertions(+), 30 deletions(-) diff --git a/nezha-fronted/src/components/common/project/meta2d/js/meta2dMainCalc.js b/nezha-fronted/src/components/common/project/meta2d/js/meta2dMainCalc.js index 20ed60a2d..9b09585b5 100644 --- a/nezha-fronted/src/components/common/project/meta2d/js/meta2dMainCalc.js +++ b/nezha-fronted/src/components/common/project/meta2d/js/meta2dMainCalc.js @@ -127,7 +127,7 @@ export default { if (this.isChart && this.timeRange) { startTime = this.timeRange[0] endTime = this.timeRange[1] - } else if (this.filterTime) { + } else if (this.filterTime && this.filterTime.length) { startTime = this.momentStrToTimestamp(this.filterTime[0]) endTime = this.momentStrToTimestamp(this.filterTime[1]) } diff --git a/nezha-fronted/src/components/common/project/meta2d/js/topoUtil.js b/nezha-fronted/src/components/common/project/meta2d/js/topoUtil.js index b180d7c72..228efd73f 100644 --- a/nezha-fronted/src/components/common/project/meta2d/js/topoUtil.js +++ b/nezha-fronted/src/components/common/project/meta2d/js/topoUtil.js @@ -30,6 +30,7 @@ export default { getTopology(this.meta2dId)._setValue(node) }, getQueryValues (elements, startTime, endTime) { + console.log(startTime, endTime) this.meta2dLoading = true return new Promise(resolve => { const step = bus.getStep(startTime, endTime) @@ -39,7 +40,16 @@ export default { elements = elements.filter(item => item.state && item.expression) const requests = elements.map((element) => { // query_range - let query = `${urlPre}/api/v1/query_range?start=${startTime}&end=${endTime}&step=${step}` + let queryStep = step + if (element.step) { + queryStep = element.step + 's' + } + let query = '' + if (element.queryType === 2) { + query = `${urlPre}/api/v1/query_instant?time=${endTime}` + } else { + query = `${urlPre}/api/v1/query_range?start=${startTime}&end=${endTime}&step=${queryStep}` + } query += `&nullType=${'null'}` if (element.filter) { query += `&filter=${element.filter}` diff --git a/nezha-fronted/src/components/common/project/meta2d/meta2dData.vue b/nezha-fronted/src/components/common/project/meta2d/meta2dData.vue index 763e50a21..1482455b5 100644 --- a/nezha-fronted/src/components/common/project/meta2d/meta2dData.vue +++ b/nezha-fronted/src/components/common/project/meta2d/meta2dData.vue @@ -127,17 +127,53 @@ > - - {{$t('dashboard.dashboard.chartForm.legend')}}  - -
{{$t('dashboard.dashboard.chartForm.legendTip')}}
- - -
-
- - - +
+
+ {{$t('dashboard.dashboard.chartForm.legend')}}  + +
{{$t('dashboard.dashboard.chartForm.legendTip')}}
+ + +
+
+
+ +
+
+
+
+ {{$t('overall.type')}}  + +
{{$t('dashboard.dashboard.chartForm.legendTip')}}
+ + +
+
+
+ + {{$t('dashboard.dashboard.chartForm.valMapping.range')}} + {{$t('overall.instant')}} + +
+
+
+
+ {{$t('overall.step')}}  +
+
+ + +
+
@@ -287,6 +323,11 @@ export default { ] } }, + computed : { + minStep () { + return this.nzDefaultConfig.minStep + } + }, mounted () { this.init() }, @@ -304,7 +345,9 @@ export default { statistic: this.expressionsShow[i].statistic || 'last', name: this.expressionName[i], state: this.expressionsShow[i].state, - orderNum: i + orderNum: i, + step: this.expressionsShow[i].step || undefined, + queryType: this.expressionsShow[i].queryType || 1, }) }) } else { @@ -312,6 +355,10 @@ export default { } this.change() }, + queryTypeChange (index) { + this.expressionsShow[index].step = undefined + this.expressionChange(index) + }, switchExpression (index, flag) { if (flag === 1) { this.$set(this.expressionsShow[index], 'state', 0) @@ -379,7 +426,9 @@ export default { unit: 1, statistic: 'last', elementId: '', - state: 1 + state: 1, + step: undefined, + queryType: 1, }) this.expressionChange() } else { @@ -394,7 +443,9 @@ export default { legend: item.legend, unit: item.unit || 1, statistic: item.statistic || 'last', - state: item.state + state: item.state, + step: item.step || undefined, + queryType: item.queryType || 1, }) } }, diff --git a/nezha-fronted/src/components/common/rightBox/chart/chartConfig.vue b/nezha-fronted/src/components/common/rightBox/chart/chartConfig.vue index bd0c05bf6..f88a60c4d 100644 --- a/nezha-fronted/src/components/common/rightBox/chart/chartConfig.vue +++ b/nezha-fronted/src/components/common/rightBox/chart/chartConfig.vue @@ -124,8 +124,8 @@
- Range - Instant + {{$t('dashboard.dashboard.chartForm.valMapping.range')}} + {{$t('overall.instant')}}
@@ -142,9 +142,8 @@ :min="minStep" :precision="0" :controls="false" - class="append_unit" :placeholder="$t('overall.auto')" - :data-unit="$t('overall.seconds')"> + > diff --git a/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue b/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue index 7b02faa48..fa36aee78 100644 --- a/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue +++ b/nezha-fronted/src/components/page/dashboard/explore/exploreItem.vue @@ -189,8 +189,8 @@
- Range - Instant + {{$t('dashboard.dashboard.chartForm.valMapping.range')}} + {{$t('overall.instant')}}
@@ -4039,18 +4039,19 @@ export default { const promqlInputIndexs = [] const queryExpression = [] // 过滤掉state为0的元素 + let step = bus.getStep(bus.formateTimeToTime(this.filterTime[0]), bus.formateTimeToTime(this.filterTime[1])) this.expressions.forEach((item, index) => { if (item != '' && this.promqlKeys[index].state && !this.promqlKeys[index].matrix) { - let step = bus.getStep(bus.formateTimeToTime(this.filterTime[0]), bus.formateTimeToTime(this.filterTime[1])) + let queryStep = step if (this.promqlKeys[index].step) { - step = this.promqlKeys[index].step + queryStep = this.promqlKeys[index].step + 's' } promqlInputIndexs.push(index) queryExpression.push(item) if (this.promqlKeys[index].queryType === 2) { requestArr.push(this.$get('/prom/api/v1/query_instant?query=' + encodeURIComponent(item) + '&time=' + this.$stringTimeParseToUnix(bus.formateTimeToTime(this.filterTime[1])))) } else { - requestArr.push(this.$get('/prom/api/v1/query_range?query=' + encodeURIComponent(item) + '&start=' + this.$stringTimeParseToUnix(bus.formateTimeToTime(this.filterTime[0])) + '&end=' + this.$stringTimeParseToUnix(bus.formateTimeToTime(this.filterTime[1])) + '&step=' + step + '&nullType=null')) + requestArr.push(this.$get('/prom/api/v1/query_range?query=' + encodeURIComponent(item) + '&start=' + this.$stringTimeParseToUnix(bus.formateTimeToTime(this.filterTime[0])) + '&end=' + this.$stringTimeParseToUnix(bus.formateTimeToTime(this.filterTime[1])) + '&step=' + queryStep + '&nullType=null')) } } }) diff --git a/nezha-fronted/src/components/page/dashboard/explore/queryPrompt/queryPrompt.vue b/nezha-fronted/src/components/page/dashboard/explore/queryPrompt/queryPrompt.vue index f54148051..48bd82845 100644 --- a/nezha-fronted/src/components/page/dashboard/explore/queryPrompt/queryPrompt.vue +++ b/nezha-fronted/src/components/page/dashboard/explore/queryPrompt/queryPrompt.vue @@ -23,9 +23,9 @@
-
Name
-
Type
-
Description
+
{{$t('overall.name')}}
+
{{$t('overall.type')}}
+
{{$t('overall.remark')}}
-
1.Select label names and values
+
{{$t('queryPrompt.logTitle1')}}
@@ -92,7 +92,7 @@
-
2.Resulting selector
+
{{$t('queryPrompt.logTitle2')}}
{{logFinalStr}}