最近在做監控前端的報錯信息,收集小程序、公眾號、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)
最終得到的數據