badges are now non-cacheable; badges on alarms modal auto-refresh; chart refreshes stop when alarms modal is shown
Costa Tsaousis (ktsaou) committed
Aug 28, 2016 at 15:12 UTC
0bcc43bf6e67c8f601dd2260cac6352e9ac0d993
2 files changed
+6
-3
src/web_client.c
+2
@@ -748,6 +748,8 @@ int web_client_api_request_v1_badge(struct web_client *w, char *url) {
748
int ret = 400;
749
buffer_flush(w->response.data);
750
751
+ w->response.data->options |= WB_CONTENT_NO_CACHEABLE;
752
+
753
BUFFER *dimensions = NULL;
754
755
const char *chart = NULL
web/index.html
+4
-3
@@ -2449,16 +2449,16 @@ function alarmsUpdateModal() {
2449
active_family_added = true;
2450
active += '<tr><th class="text-center"><h4>' + x + '</h4></th><th></th></tr>';
2451
}
2452
- active += '<tr><td class="text-center" style="vertical-align:middle"><embed><img src="' + NETDATA.serverDefault + '/api/v1/badge.svg?chart=' + alarm.chart + '&alarm=' + alarm.name + '&refresh=auto&_=' + now.toString()+ '"></img></embed></td><td><b>' + alarm.info + '</b><table>' + ((typeof alarm.warn !== 'undefined')?('<tr><td> warning when </td><td><code>' + alarm.warn + '</code></td></tr>'):'') + ((typeof alarm.crit !== 'undefined')?('<tr><td style="text-align:right"> critical when </td><td><code>' + alarm.crit + '</code></td></tr>'):'') + '<tr><td style="text-align:right"><small> source </small></td><td><small>' + alarm.source + '</small></td></tr></table></td></tr>';
2452
count_active++;
2453
+ active += '<tr><td class="text-center" style="vertical-align:middle"><embed src="' + NETDATA.serverDefault + 'api/v1/badge.svg?chart=' + alarm.chart + '&alarm=' + alarm.name + '&refresh=auto" type="image/svg+xml" /></td><td><b>' + alarm.info + '</b><table>' + ((typeof alarm.warn !== 'undefined')?('<tr><td> warning when </td><td><code>' + alarm.warn + '</code></td></tr>'):'') + ((typeof alarm.crit !== 'undefined')?('<tr><td style="text-align:right"> critical when </td><td><code>' + alarm.crit + '</code></td></tr>'):'') + '<tr><td style="text-align:right"><small> source </small></td><td><small>' + alarm.source + '</small></td></tr></table></td></tr>';
2454
}
2455
2456
if(!all_family_added) {
2457
all_family_added = true;
2458
all += '<tr><th class="text-center"><h4>' + x + '</h4></th><th></th></tr>';
2459
}
2460
- all += '<tr><td class="text-center" style="vertical-align:middle"><embed><img src="' + NETDATA.serverDefault + '/api/v1/badge.svg?chart=' + alarm.chart + '&alarm=' + alarm.name + '&refresh=auto&_=' + now.toString()+ '"></img></embed></td><td><b>' + alarm.info + '</b><table>' + ((typeof alarm.warn !== 'undefined')?('<tr><td> warning when </td><td><code>' + alarm.warn + '</code></td></tr>'):'') + ((typeof alarm.crit !== 'undefined')?('<tr><td style="text-align:right"> critical when </td><td><code>' + alarm.crit + '</code></td></tr>'):'') + '<tr><td style="text-align:right"><small> source </small></td><td><small>' + alarm.source + '</small></td></tr></table></td></tr>';
2460
count_all++;
2461
+ all += '<tr><td class="text-center" style="vertical-align:middle"><embed src="' + NETDATA.serverDefault + 'api/v1/badge.svg?chart=' + alarm.chart + '&alarm=' + alarm.name + '&refresh=auto" type="image/svg+xml" /></td><td><b>' + alarm.info + '</b><table>' + ((typeof alarm.warn !== 'undefined')?('<tr><td> warning when </td><td><code>' + alarm.warn + '</code></td></tr>'):'') + ((typeof alarm.crit !== 'undefined')?('<tr><td style="text-align:right"> critical when </td><td><code>' + alarm.crit + '</code></td></tr>'):'') + '<tr><td style="text-align:right"><small> source </small></td><td><small>' + alarm.source + '</small></td></tr></table></td></tr>';
2462
}
2463
}
2464
active += "</table>";
@@ -2915,10 +2915,11 @@ function finalizePage() {
2915
});
2916
2917
$('#alarmsModal').on('shown.bs.modal', function() {
2918
- alarmsUpdateModal();
2918
+ NETDATA.pause(alarmsUpdateModal);
2919
});
2920
2921
$('#alarmsModal').on('hidden.bs.modal', function() {
2922
+ NETDATA.unpause();
2923
document.getElementById('alarms_active').innerHTML =
2924
document.getElementById('alarms_all').innerHTML =
2925
document.getElementById('alarms_log').innerHTML =