fix:query_range接口start end 时间改为unit timestemp
This commit is contained in:
@@ -820,7 +820,7 @@ export default {
|
||||
const axiosArr = chartItem.elements.map((ele) => {
|
||||
const filterItem = ele;
|
||||
let query = encodeURIComponent(filterItem.expression);
|
||||
return this.$get('/prom/api/v1/query_range?query='+query+"&start="+startTime+"&end="+endTime+'&step='+step);
|
||||
return this.$get('/prom/api/v1/query_range?query='+query+"&start="+this.$stringTimeParseToUnix(startTime)+"&end="+this.$stringTimeParseToUnix(endTime)+'&step='+step);
|
||||
});
|
||||
// 一个图表的所有element单独获取数据
|
||||
axios.all(axiosArr).then((res) => {
|
||||
|
||||
@@ -351,7 +351,7 @@
|
||||
const axiosArr = chartItem.elements.map((ele) => {
|
||||
const filterItem = ele;
|
||||
let query = encodeURIComponent(filterItem.expression);
|
||||
return this.$get('/prom/api/v1/query_range?query='+query+"&start="+startTime+"&end="+endTime+'&step='+step);
|
||||
return this.$get('/prom/api/v1/query_range?query='+query+"&start="+this.$stringTimeParseToUnix(startTime)+"&end="+this.$stringTimeParseToUnix(endTime)+'&step='+step);
|
||||
});
|
||||
// 一个图表的所有element单独获取数据
|
||||
axios.all(axiosArr).then((res) => {
|
||||
@@ -1070,7 +1070,7 @@
|
||||
axiosArr = this.chart.elements.map((ele) => {
|
||||
const filterItem = ele;
|
||||
let query = encodeURIComponent(filterItem.expression);
|
||||
return this.$get('/prom/api/v1/query_range?query='+query+"&start="+startTime+"&end="+endTime+'&step='+step);
|
||||
return this.$get('/prom/api/v1/query_range?query='+query+"&start="+this.$stringTimeParseToUnix(startTime)+"&end="+this.$stringTimeParseToUnix(endTime)+'&step='+step);
|
||||
});
|
||||
// 一个图表
|
||||
axios.all(axiosArr).then((res) => {
|
||||
|
||||
@@ -1295,16 +1295,16 @@
|
||||
axiosArr = this.data.elements.map((ele) => {
|
||||
const filterItem = ele;
|
||||
let query = encodeURIComponent(filterItem.expression);
|
||||
return this.$get('/prom/api/v1/query_range?query='+query+"&start="+startTime+"&end="+endTime+'&step='+step);
|
||||
return this.$get('/prom/api/v1/query_range?query='+query+"&start="+this.$stringTimeParseToUnix(startTime)+"&end="+this.$stringTimeParseToUnix(endTime)+'&step='+step);
|
||||
});
|
||||
} else if (type === 'dashboard') { // 概览模式,指标概览中使用
|
||||
// 概览模式,需要区分单独一个和多个
|
||||
if (this.stableFilter.chartCount === 'multiple') {
|
||||
let query = encodeURIComponent(this.data.title);
|
||||
axiosArr = [this.$get('/prom/api/v1/query_range?query='+query+"&start="+startTime+"&end="+endTime+'&step='+step)];
|
||||
axiosArr = [this.$get('/prom/api/v1/query_range?query='+query+"&start="+this.$stringTimeParseToUnix(startTime)+"&end="+this.$stringTimeParseToUnix(endTime)+'&step='+step)];
|
||||
} else {
|
||||
let query = encodeURIComponent(this.data.elements[0].expression);
|
||||
axiosArr = [this.$get('/prom/api/v1/query_range?query='+query+"&start="+startTime+"&end="+endTime+'&step='+step)];
|
||||
axiosArr = [this.$get('/prom/api/v1/query_range?query='+query+"&start="+this.$stringTimeParseToUnix(startTime)+"&end="+this.$stringTimeParseToUnix(endTime)+'&step='+step)];
|
||||
}
|
||||
}
|
||||
// 一个图表
|
||||
|
||||
@@ -484,7 +484,7 @@
|
||||
}
|
||||
let axiosArr=[];
|
||||
let queryParam = this.promQueryParamConvert(obj);
|
||||
axiosArr.push(axios.get("/prom/api/v1/query_range?query="+queryParam+"&start="+start+"&end="+end+"&step="+step));
|
||||
axiosArr.push(axios.get("/prom/api/v1/query_range?query="+queryParam+"&start="+this.$stringTimeParseToUnix(start)+"&end="+this.$stringTimeParseToUnix(end)+"&step="+step));
|
||||
this.legend = [];
|
||||
this.chartDatas = [];
|
||||
axios.all(axiosArr).then(res =>{
|
||||
|
||||
@@ -455,7 +455,7 @@
|
||||
}
|
||||
let axiosArr=[];
|
||||
for(let endpoint of this.selectedEndpoints){
|
||||
axiosArr.push(axios.get("/prom/api/v1/query_range?query="+endpoint.element+"&start="+start+"&end="+end+"&step="+step));
|
||||
axiosArr.push(axios.get("/prom/api/v1/query_range?query="+endpoint.element+"&start="+this.$stringTimeParseToUnix(start)+"&end="+this.$stringTimeParseToUnix(end)+"&step="+step));
|
||||
}
|
||||
this.legend=[];
|
||||
this.chartDatas = [];
|
||||
|
||||
@@ -74,7 +74,8 @@ const en = {
|
||||
reset:'Reset',
|
||||
submit:'Submit',
|
||||
noData:'No data',
|
||||
tag: 'Tag'
|
||||
tag: 'Tag',
|
||||
placeHolder:'please enter'
|
||||
},
|
||||
pageSize: '/page',
|
||||
webshell:{
|
||||
@@ -756,7 +757,7 @@ const en = {
|
||||
name: 'Name',//"名称"
|
||||
receiver: 'Receiver',//"用户组"
|
||||
expr: 'Expression',//"表达式"
|
||||
for: "For (s)",//For (s)
|
||||
for: "Duration (s)",//For (s)
|
||||
link: 'Link',//'关联'
|
||||
option: 'Operation',//"操作"
|
||||
alertConfig: 'Alert rule',//"告警规则"
|
||||
|
||||
@@ -477,7 +477,7 @@
|
||||
}
|
||||
let axiosArr=[];
|
||||
let paramStr = JSON.stringify(this.promQueryParamConvert(obj));
|
||||
axiosArr.push(axios.get("/prom/api/v1/query_range?query="+paramStr.substring(1, paramStr.length-1).replace(/\+/g, "%2B").replace(/ /g, "%20")+"&start="+start+"&end="+end+"&step="+step));
|
||||
axiosArr.push(axios.get("/prom/api/v1/query_range?query="+paramStr.substring(1, paramStr.length-1).replace(/\+/g, "%2B").replace(/ /g, "%20")+"&start="+this.$stringTimeParseToUnix(start)+"&end="+this.$stringTimeParseToUnix(end)+"&step="+step));
|
||||
this.legend = [];
|
||||
this.chartDatas = [];
|
||||
axios.all(axiosArr).then(res =>{
|
||||
|
||||
@@ -43,9 +43,9 @@
|
||||
<el-switch v-model.number="basic.asset_ping_switch" active-color="rgb(238, 157, 63)" active-value='on' inactive-value='off'>
|
||||
</el-switch>
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('config.system.basic.assetPingInterval')" prop="asset_ping_interval">
|
||||
<!--<el-form-item :label="$t('config.system.basic.assetPingInterval')" prop="asset_ping_interval">
|
||||
<el-input v-model.number="basic.asset_ping_interval" :disabled="basic.asset_ping_switch == 'off'"></el-input><span class="nz-input-append">s</span>
|
||||
</el-form-item>
|
||||
</el-form-item>-->
|
||||
<el-form-item :label="$t('config.system.basic.defaultCabinetUsize')" prop="default_cabinet_usize">
|
||||
<el-input v-model.number="basic.default_cabinet_usize" ></el-input>
|
||||
</el-form-item>
|
||||
|
||||
@@ -39,6 +39,16 @@
|
||||
@addExpression="addExpression"
|
||||
@removeExpression="removeExpression"
|
||||
></promql-input>
|
||||
<!-- <promql-input-plus-->
|
||||
<!-- v-for="index of promqlKeys.length"-->
|
||||
<!-- :ref="'promql-plus'+(index-1)"-->
|
||||
<!-- :id="promqlKeys[index-1]"-->
|
||||
<!-- :key="promqlKeys[index-1]"-->
|
||||
<!-- :index="index-1"-->
|
||||
<!-- @change="expressionChange"-->
|
||||
<!-- @addExpression="addExpression"-->
|
||||
<!-- @removeExpression="removeExpression"-->
|
||||
<!-- ></promql-input-plus>-->
|
||||
</div>
|
||||
<div class="chart-view right-margin" v-show="!showIntroduce"
|
||||
:class="{'shrink-view':!chartVisible || !defaultChartVisible}">
|
||||
@@ -198,6 +208,7 @@ instance_cpu_time_ns{app="fox", proc="widget", rev="4d3a513", env="prod", job="c
|
||||
<script>
|
||||
import bus from "../../../../libs/bus";
|
||||
import promqlInput from "./promqlInput";
|
||||
import promqlInputPlus from "./promqlInputPlus";
|
||||
import chart from "../overview/chart";
|
||||
import axios from 'axios';
|
||||
import chartBox from "../../../page/dashboard/chartBox";
|
||||
@@ -208,6 +219,7 @@ instance_cpu_time_ns{app="fox", proc="widget", rev="4d3a513", env="prod", job="c
|
||||
name: "explore",
|
||||
components: {
|
||||
'promql-input': promqlInput,
|
||||
'promql-input-plus':promqlInputPlus,
|
||||
'chart': chart,
|
||||
'chart-box': chartBox,
|
||||
},
|
||||
@@ -274,7 +286,7 @@ instance_cpu_time_ns{app="fox", proc="widget", rev="4d3a513", env="prod", job="c
|
||||
let step=bus.getStep(this.filterTime[0],this.filterTime[1]);
|
||||
promqlInputIndexs.push(index);
|
||||
queryExpression.push(item)
|
||||
requestArr.push(axios.get('/prom/api/v1/query_range?query=' + item + '&start=' + this.filterTime[0] + '&end=' + this.filterTime[1] + '&step='+step))
|
||||
requestArr.push(axios.get('/prom/api/v1/query_range?query=' + item + '&start=' + this.$stringTimeParseToUnix(this.filterTime[0]) + '&end=' + this.$stringTimeParseToUnix(this.filterTime[1]) + '&step='+step))
|
||||
}
|
||||
})
|
||||
if (requestArr.length > 0) {
|
||||
|
||||
@@ -262,7 +262,7 @@ export default {
|
||||
this.filter.end_time = endTime;
|
||||
let step = bus.getStep(startTime,endTime);
|
||||
let query = encodeURIComponent(params.elements[0].expression);
|
||||
this.$get('/prom/api/v1/query_range?query='+query+"&start="+startTime+"&end="+endTime+'&step='+step).then(response => {
|
||||
this.$get('/prom/api/v1/query_range?query='+query+"&start="+this.$stringTimeParseToUnix(startTime)+"&end="+this.$stringTimeParseToUnix(endTime)+'&step='+step).then(response => {
|
||||
this.$refs.metricSet.loading = false;
|
||||
if (response.status === 'success') {
|
||||
if (response.data.result) {
|
||||
|
||||
@@ -737,8 +737,8 @@
|
||||
let before=this.dateFormat('yyyy-mm-dd HH:MM:SS',beforeDate);
|
||||
let params={
|
||||
query:'sum(nz_alert_nums)',
|
||||
start:before,
|
||||
end:cur,
|
||||
start:this.$stringTimeParseToUnix(before),
|
||||
end:this.$stringTimeParseToUnix(cur),
|
||||
step:'15s'
|
||||
}
|
||||
this.$get('/prom/api/v1/query_range',params).then(response=>{
|
||||
|
||||
@@ -672,8 +672,8 @@
|
||||
metricString = metricString.substring(0, metricString.length-1);
|
||||
metricString += "}";
|
||||
let params = {
|
||||
start: before,
|
||||
end: end,
|
||||
start: this.$stringTimeParseToUnix(before),
|
||||
end: this.$stringTimeParseToUnix(end),
|
||||
step: bus.getStep(before, end),
|
||||
query: 'sum(irate(' + rule + metricString + '[' + (this.trendSearchParam.timeRange ? this.trendSearchParam.timeRange : "1h") + ']))'
|
||||
};
|
||||
|
||||
@@ -19,7 +19,7 @@ import plTable from 'pl-table'
|
||||
import 'pl-table/themes/index.css'
|
||||
|
||||
import {post, get, put, del} from './http.js'
|
||||
import {toTop, clickoutside, scrollBar, bottomBoxWindow} from './tools.js'
|
||||
import {toTop, clickoutside, scrollBar, bottomBoxWindow,stringTimeParseToUnix} from './tools.js'
|
||||
|
||||
|
||||
import Pagination from "./components/common/pagination"; //引入全局分页组件
|
||||
@@ -79,6 +79,7 @@ Vue.prototype.$put = put;
|
||||
Vue.prototype.$delete = del;
|
||||
Vue.prototype.$toTop = toTop; //toTop置顶按钮方法
|
||||
Vue.prototype.$bottomBoxWindow = bottomBoxWindow; //底部上滑框控制
|
||||
Vue.prototype.$stringTimeParseToUnix = stringTimeParseToUnix;
|
||||
Vue.prototype.$tableHeight = { //列表页表格的高度
|
||||
normal: 'calc(100% - 100px)', //常规高度,特例在下方定义
|
||||
openSubList: { //打开二级列表后的高度
|
||||
|
||||
@@ -334,3 +334,7 @@ export const bottomBoxWindow = {
|
||||
}
|
||||
}
|
||||
};
|
||||
export function stringTimeParseToUnix(stringTime){
|
||||
let time=new Date(stringTime).getTime();
|
||||
return time/1000;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user