Skip to content

Commit b568ad6

Browse files
committed
add 5 minute Map
1 parent 250d10b commit b568ad6

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

src/controllers/status.js

+20-2
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,21 @@ async function getHostsDayMap (limitHosts, now) {
8787
}
8888
return data
8989
}
90+
91+
async function getPast5MinuteMap (now) {
92+
const ts = parseInt(Date.now().toString().slice(0, 10))
93+
const events = []
94+
for (let index = 1; index < 7; index++) {
95+
events.push(cache.get('requests:count:' + (ts - index * 60).toString()))
96+
}
97+
const result = await Promise.all(events)
98+
const data = []
99+
data.push(now - parseInt(result[0]))
100+
for (let index = 0; index < (result.length - 2); index++) {
101+
data.push(parseInt(result[index]) - parseInt(result[index + 1]))
102+
}
103+
return data
104+
}
90105
module.exports = async (ctx, next) => {
91106
const pkg = require(path.join('../../', 'package'))
92107
const fetchData = await Promise.all([
@@ -124,9 +139,11 @@ module.exports = async (ctx, next) => {
124139
// fetch DayMap
125140
const fetchDayMap = await Promise.all([
126141
getAllDayMap(all.now),
127-
getHostsDayMap(limitHost, fetchData[4])
142+
getHostsDayMap(limitHost, fetchData[4]),
143+
getPast5MinuteMap(all.now)
128144
])
129145
all.dayMap = fetchDayMap[0]
146+
all.FiveMinuteMap = fetchDayMap[2]
130147
Object.assign(hosts, fetchDayMap[1])
131148
ctx.body = {
132149
name: pkg.name,
@@ -139,7 +156,8 @@ module.exports = async (ctx, next) => {
139156
pastMinute: parseInt(all.now) - parseInt(all.pastMinute),
140157
pastHour: parseInt(all.now) - parseInt(all.pastHour),
141158
pastDay: parseInt(all.now) - parseInt(all.pastDay),
142-
dayMap: all.dayMap
159+
dayMap: all.dayMap,
160+
FiveMinuteMap: all.FiveMinuteMap
143161
},
144162
hosts
145163
},

0 commit comments

Comments
 (0)