unpkg/scripts/show-stats.js

49 lines
1.5 KiB
JavaScript
Raw Normal View History

2017-11-26 05:19:55 +00:00
const subDays = require("date-fns/sub_days")
const prettyBytes = require("pretty-bytes")
const table = require("text-table")
2017-05-25 22:27:42 +00:00
2017-11-26 05:19:55 +00:00
const StatsAPI = require("../server/StatsAPI")
2017-11-08 19:07:48 +00:00
const now = new Date()
2017-05-25 22:27:42 +00:00
2017-11-08 19:07:48 +00:00
function createRange(start, end) {
2017-05-25 22:27:42 +00:00
const range = []
2017-11-08 19:07:48 +00:00
while (start < end) range.push(start++)
2017-05-25 22:27:42 +00:00
return range
}
2017-11-08 19:07:48 +00:00
function createPastDays(n) {
return createRange(1, n + 1)
.map(days => subDays(now, days))
.reverse()
}
2017-05-25 22:27:42 +00:00
const pastSevenDays = createPastDays(7)
const pastThirtyDays = createPastDays(30)
Promise.all([
2017-11-26 05:19:55 +00:00
StatsAPI.sumKeys(pastSevenDays.map(date => `stats-requests-${StatsAPI.createDayKey(date)}`)),
StatsAPI.sumKeys(pastSevenDays.map(date => `stats-bandwidth-${StatsAPI.createDayKey(date)}`)),
StatsAPI.sumKeys(pastThirtyDays.map(date => `stats-requests-${StatsAPI.createDayKey(date)}`)),
StatsAPI.sumKeys(pastThirtyDays.map(date => `stats-bandwidth-${StatsAPI.createDayKey(date)}`))
]).then(results => {
2017-11-26 05:19:55 +00:00
console.log("\n## Summary")
console.log("Requests this week: %s", results[0].toLocaleString())
console.log("Bandwidth this week: %s", prettyBytes(results[1]))
console.log("Requests this month: %s", results[2].toLocaleString())
console.log("Bandwidth this month: %s", prettyBytes(results[3]))
2017-11-08 19:07:48 +00:00
StatsAPI.sumTopScores(
2017-11-26 05:19:55 +00:00
pastSevenDays.map(date => `stats-packageRequests-${StatsAPI.createDayKey(date)}`)
2017-11-08 19:07:48 +00:00
).then(topPackages => {
2017-11-26 05:19:55 +00:00
console.log("\n## Top Packages This Week")
2017-05-30 16:20:45 +00:00
topPackages.forEach(result => {
result[1] = result[1].toLocaleString()
})
2017-11-08 19:07:48 +00:00
console.log(table(topPackages))
process.exit()
})
2017-05-25 22:27:42 +00:00
})