Skip to content
This repository has been archived by the owner on Jul 12, 2023. It is now read-only.

Commit

Permalink
Seven day totals (#1698)
Browse files Browse the repository at this point in the history
* fix the things that didn't work

* sum distributions over 7 days

* ascending

* titles

* better title
  • Loading branch information
whaught authored Jan 26, 2021
1 parent c867b84 commit aa106f2
Showing 1 changed file with 32 additions and 14 deletions.
46 changes: 32 additions & 14 deletions cmd/server/assets/realmadmin/_stats_keyserver.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ <h5 class="card-title">Publish requests by OS</h5>
<p class="text-center font-italic w-100 mt-5">Loading chart...</p>
</div>
<div class="card-body">
<h5 class="card-title">TEK age distribution</h5>
<h5 class="card-title">TEK age distribution (7 day sum)</h5>
</div>
<div id="keyserver_tek_chart_div" class="h-100 w-100" style="min-height:325px;">
<p class="text-center font-italic w-100 mt-5">Loading chart...</p>
</div>
<div class="slidecontainer" id="tek_slide_div">
</div>
<div class="card-body">
<h5 class="card-title">Onset to upload distribution</h5>
<h5 class="card-title">Onset to upload distribution (7 day sum)</h5>
</div>
<div id="keyserver_onset_chart_div" class="h-100 w-100" style="min-height:325px;">
<p class="text-center font-italic w-100 mt-5">Loading chart...</p>
Expand Down Expand Up @@ -89,10 +89,10 @@ <h5 class="modal-title">Key server stats</h5>
});

let $slider =
$(`<input type="range" min="1" class="slider w-100" id="tek_slider">`);
$(`<input type="range" min="8" class="slider w-100" id="tek_slider">`);

let $onsetSlider =
$(`<input type="range" min="1" class="slider w-100" id="onset_slider">`);
$(`<input type="range" min="8" class="slider w-100" id="onset_slider">`);

function drawRealmCharts() {
$.ajax({
Expand Down Expand Up @@ -266,7 +266,7 @@ <h5 class="modal-title">Key server stats</h5>
showTextEvery: 1,
},
titlePosition: "out",
title: stats[0].day.split("T")[0],
title: "7 days from " + stats[0].day.split("T")[0],
};

tekChart = new google.visualization.ColumnChart($div.get(0));
Expand All @@ -286,10 +286,19 @@ <h5 class="modal-title">Key server stats</h5>
dataTable.addColumn({type:'string', role:'style'})
dataTable.addColumn({type:'string', role:'annotation'})

let row = stats[dateIndex];
// sum over last 7 days for smoothing
let table = new Array(stats[dateIndex].tek_age_distribution.length).fill(0);
let i;
for (i = 0; i < row.tek_age_distribution.length; i++) {
let r = [i+1, row.tek_age_distribution[i],"",""]
for (i = dateIndex; i <= dateIndex + 7 && i < stats.length; i++) {
let row = stats[i];
let j;
for (j = 0; j < row.tek_age_distribution.length; j++) {
table[j] += row.tek_age_distribution[j];
}
}

for (i = 0; i < table.length; i++) {
let r = [i+1, table[i],"",""]
if (i == 15) {
r[2] = "#6c757d";
r[3] = ">15 days";
Expand Down Expand Up @@ -329,7 +338,7 @@ <h5 class="modal-title">Key server stats</h5>
showTextEvery: 1,
},
titlePosition: "out",
title: stats[0].day.split("T")[0],
title: "7 days from " + stats[0].day.split("T")[0],
};

onsetChart = new google.visualization.ColumnChart($div.get(0));
Expand All @@ -349,10 +358,19 @@ <h5 class="modal-title">Key server stats</h5>
dataTable.addColumn({type:'string', role:'style'})
dataTable.addColumn({type:'string', role:'annotation'})

let row = stats[dateIndex];
// sum over last 7 days for smoothing
let table = new Array(stats[dateIndex].onset_to_upload_distribution.length).fill(0);
let i;
for (i = 0; i < row.onset_to_upload_distribution.length; i++) {
let r = [i+1, row.onset_to_upload_distribution[i],"",""]
for (i = dateIndex; i <= dateIndex + 7 && i < stats.length; i++) {
let row = stats[i];
let j;
for (j = 0; j < row.onset_to_upload_distribution.length; j++) {
table[j] += row.onset_to_upload_distribution[j];
}
}

for (i = 0; i < table.length; i++) {
let r = [i+1, table[i],"",""]
if (i == 30) {
r[2] = "#6c757d";
r[3] = ">30 days";
Expand All @@ -366,7 +384,7 @@ <h5 class="modal-title">Key server stats</h5>
$('#tek_slide_div').append($slider)
$slider.on("input", function(event) {
let indx = stats.length - $slider.val();
tekOptions.title = stats[indx].day.split("T")[0];
tekOptions.title = "7 days from " + stats[indx].day.split("T")[0];
tekOptions.animation = {
startup: false,
duration: 500,
Expand All @@ -380,7 +398,7 @@ <h5 class="modal-title">Key server stats</h5>
$('#onset_slide_div').append($onsetSlider)
$onsetSlider.on("input", function(event) {
let indx = stats.length - $onsetSlider.val();
onsetOptions.title = stats[indx].day.split("T")[0];
onsetOptions.title = "7 days from " + stats[indx].day.split("T")[0];
onsetOptions.animation = {
startup: false,
duration: 500,
Expand Down

0 comments on commit aa106f2

Please sign in to comment.