functions are good
parent
d38352f050
commit
2f3739b24f
42
report.tmpl
42
report.tmpl
|
|
@ -113,40 +113,48 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function drawEventVolume(messages) {
|
function drawEventVolume(messages) {
|
||||||
|
drawEventVolumeWith(
|
||||||
|
messages,
|
||||||
|
"eventVolume",
|
||||||
|
(ts) => new Date(1000 * ts).
|
||||||
|
toLocaleDateString('en-US', {month: 'numeric', day: 'numeric', weekday: 'short'}),
|
||||||
|
(m) => m.EventName,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function drawEventVolumeWith(messages, documentId, kify, nameify) {
|
||||||
const points = [];
|
const points = [];
|
||||||
messages.forEach((m) => {
|
messages.forEach((m) => {
|
||||||
points.push({x: m.TS, name: m.EventName});
|
points.push({x: m.TS, name: nameify(m)});
|
||||||
});
|
});
|
||||||
|
|
||||||
var xs = points.map((point) => point.x);
|
var xs = points.map((point) => point.x);
|
||||||
|
if (xs && !isNaN(parseFloat(kify(xs[0])))) {
|
||||||
|
xs = xs.map(kify);
|
||||||
|
xs.sort((a, b) => parseFloat(a) - parseFloat(b));
|
||||||
|
} else {
|
||||||
xs.sort();
|
xs.sort();
|
||||||
const k = (x) => new Date(1000 * x).toLocaleDateString('en-US', {month: 'numeric', day: 'numeric', weekday: 'short'});
|
xs = xs.map(kify);
|
||||||
xs = xs.map(k);
|
}
|
||||||
xs = [...new Set(xs)];
|
xs = [...new Set(xs)];
|
||||||
|
|
||||||
const names = [...new Set(points.map((p) => p.name))];
|
const names = [...new Set(points.map((p) => p.name))];
|
||||||
const nameAndData = names.map((name) => {
|
const nameAndData = names.map((name) => {
|
||||||
return {
|
return {
|
||||||
name: name,
|
name: name,
|
||||||
data: xs.map((x) => points.filter((p) => { return p.name == name && k(p.x) == x }).length),
|
data: xs.map((x) => points.filter((p) => { return p.name == name && kify(p.x) == x }).length),
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
draw("eventVolume", xs, nameAndData);
|
draw(documentId, xs, nameAndData);
|
||||||
}
|
}
|
||||||
|
|
||||||
function drawEventVolumeByHour(messages) {
|
function drawEventVolumeByHour(messages) {
|
||||||
var byHour = [];
|
drawEventVolumeWith(
|
||||||
for(var i = 0; i < 24; i++)
|
messages,
|
||||||
byHour.push(0);
|
"eventVolumeByHour",
|
||||||
for(var m of messages) {
|
(ts) => new Date(1000 * ts).getHours(),
|
||||||
var d = new Date(1000 * m.TS);
|
(m) => m.EventName,
|
||||||
byHour[d.getHours()] += 1;
|
);
|
||||||
}
|
|
||||||
byHour = byHour.map((cnt, idx) => {
|
|
||||||
return {x: idx, y: cnt};
|
|
||||||
});
|
|
||||||
|
|
||||||
draw("eventVolumeByHour", byHour);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function drawEventVolumeByAsset(messages) {}
|
function drawEventVolumeByAsset(messages) {}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue