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