Skip to content

Commit

Permalink
.
Browse files Browse the repository at this point in the history
  • Loading branch information
InventivetalentDev committed Mar 9, 2021
1 parent b9b4242 commit e7f5c77
Showing 1 changed file with 46 additions and 34 deletions.
80 changes: 46 additions & 34 deletions routes/metrics.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,53 +8,65 @@ module.exports = function (express, config) {
let minutes = days * 1440;

let startTime = new Date(Date.now() - (minutes * 60 * 1000));
let y = `${ startTime.getFullYear() }`;
let m = `${ startTime.getMonth() + 1 }`;
if (m.length < 2) {
m = "0" + m;
}
let d = `${ startTime.getDate() }`;
if (d.length < 2) {
d = "0" + d;
}
axios.post("https://api.cloudflare.com/client/v4/graphql/", {
query: "{\n" +
" viewer {\n" +
" zones(filter: { zoneTag: \"" + config.cloudflare.zone + "\" }) {\n" +
" httpRequests1dGroups(\n" +
" orderBy: [date_ASC]\n" +
" limit: 1000\n" +
`" filter: { datetime_gt: \"${ startTime.getFullYear() }-${ startTime.getMonth() + 1 }-${ startTime.getDate() }\" }\n"` +
" ) {\n" +
" date: dimensions {\n" +
" date\n" +
" }\n" +
" sum {\n" +
" cachedRequests\n" +
" requests\n" +
" }\n" +
" uniq {\n" +
" uniques\n" +
" }\n" +
" }\n" +
" }\n" +
" }\n" +
"}",
query: '{' +
' viewer {' +
` zones(filter: { zoneTag: "${ config.cloudflare.zone }" }) {` +
' httpRequests1dGroups(' +
' orderBy: [date_ASC]' +
' limit: 1000' +
` filter: { date_gt: "${ y }-${ m }-${ d }" }` +
' ) {' +
' date: dimensions {' +
' date' +
' }' +
' sum {' +
' cachedRequests' +
' requests' +
' }' +
' uniq {' +
' uniques' +
' }' +
' }' +
' }' +
' }' +
'}',
variables: {}
}, {
headers: {
"X-Auth-Email": config.cloudflare.email,
"X-Auth-Key": config.cloudflare.key
"X-Auth-Key": config.cloudflare.key,
"Content-Type": "application/json"
}
}).then(response=>{
let arr = response.data.data.viewer.zones[0].httpRequests1dGroups;

}).then(response => {
let data = [];
for(let entry of arr) {
data.push({
time: entry.date.date,
timestamp: Date.parse(entry.date.date),
total: entry.sum.requests,
unique: entry.uniq.unique
})
if (response.data.data) {
let arr = response.data.data.viewer.zones[0].httpRequests1dGroups;

for (let entry of arr) {
data.push({
time: entry.date.date,
timestamp: Date.parse(entry.date.date),
total: entry.sum.requests,
unique: entry.uniq.uniques
})
}
}

res.json(data);
}).catch(err => {
console.log(err);
res.status(500);
})
});
});

return router;
Expand Down

0 comments on commit e7f5c77

Please sign in to comment.