最近在做监控前端的报错信息,收集小程序、公众号、app、管理后台的报错信息,统一上传到报错平台
其中以管理人员打开平台的时间为最新的数据获取后24小时的报错信息
例:
打开时间为09:25则获取
10:25-09:25
09:25-08:25
08:25-07:25
07:25-06:25
06:25-06:25~~~~
然后使用echarts来渲染数据
// 引入dayjs
const dayjs = require('dayjs')
// 24小时时间戳
const date = []
// x轴坐标
const xAxisData = []
// y轴数据
const yAxisData = []
// 模拟数据
const demolist = [1595236542, 1595256542]
for (var i = 0;i<24;i++) {
const tdate = i === 0 ? dayjs().add(1, 'hour') : dayjs().subtract(i - 1, 'hour')
const zdate = dayjs().subtract(i, 'hour')
date.push({
t: tdate.unix(),
z: zdate.unix()
})
xAxisData.push(`${addZero(tdate.hour())}:${addZero(tdate.minute())}-${addZero(zdate.hour())}:${addZero(zdate.minute())}`)
}
date.forEach(el => {
var dataItem = demolist.filter(item => el.t >= item && el.z <= item) || []
if (dataItem.length !== 0) {
yAxisData.push(dataItem.length)
} else {
yAxisData.push(0)
}
})
function addZero(nub) {
return nub < 10 ? '0' + nub : nub
}
console.log(xAxisData)
console.log(yAxisData)
最终得到的数据
网友评论