@cryptotaxi247 / netdata-1 / commits / 6ce8f417e

basic rendering of the alarm log ready

Costa Tsaousis committed Aug 26, 2016 at 03:38 UTC 6ce8f417e846977510c305856887a323e8abaabf
3 files changed +52 -17
src/web_buffer_svg.c
+3 -1
@@ -1,7 +1,8 @@
1 #include "common.h"
2
3 #define BADGE_HORIZONTAL_PADDING 4
4 -#define VERDANA_KERNING 0.0
4 +#define VERDANA_KERNING 0.2
5 +#define VERDANA_PADDING 1.0
6
7 /*
8 * verdana11_widths[] has been generated with this method:
@@ -288,6 +289,7 @@ static inline int verdana11_width(char *s) {
289
290 *d = '\0';
291 w -= VERDANA_KERNING;
292 + w += VERDANA_PADDING;
293 return ceil(w);
294 }
295
web/dashboard.js
+15 -7
@@ -300,6 +300,8 @@
300 pan_and_zoom_factor_multiplier_shift: 3.0,
301 pan_and_zoom_factor_multiplier_alt: 4.0,
302
303 + abort_ajax_on_scroll: false,
304 +
305 setOptionCallback: function() { ; }
306 },
307
@@ -487,16 +489,22 @@
489 // the charts back to visible quickly
490 var targets = NETDATA.options.targets;
491 var len = targets.length;
490 - while(len--) {
491 - if(targets[len]._updating === true) {
492 - if (typeof targets[len].xhr !== 'undefined') {
493 - targets[len].xhr.abort();
494 - targets[len].running = false;
495 - targets[len]._updating = false;
492 + if(NETDATA.options.abort_ajax_on_scroll === true) {
493 + while (len--) {
494 + if (targets[len]._updating === true) {
495 + if (typeof targets[len].xhr !== 'undefined') {
496 + targets[len].xhr.abort();
497 + targets[len].running = false;
498 + targets[len]._updating = false;
499 + }
500 + targets[len].isVisible();
501 }
497 - targets[len].isVisible();
502 }
503 }
504 + else {
505 + while (len--)
506 + targets[len].isVisible();
507 + }
508 };
509
510 window.onresize = NETDATA.onresize;
web/index.html
+34 -9
@@ -1320,6 +1320,7 @@ function notifyForDeleteRegistry() {
1320
1321 var options = {
1322 sparklines_registry: {},
1323 + menus: {},
1324 submenu_names: {},
1325 data: null,
1326 hostname: 'netdata_server', // will be overwritten by the netdata server
@@ -2346,7 +2347,7 @@ function renderPage(menus, data) {
2347 }
2348
2349 function renderChartsAndMenu(data) {
2349 - var menus = {};
2350 + var menus = options.menus;
2351 var charts = data.charts;
2352
2353 for(var c in charts) {
@@ -2420,15 +2421,19 @@ function alarmsUpdateModal() {
2421 var x;
2422 var count_active = 0;
2423 var count_all = 0;
2423 - var count_log = 0;
2424 var families = {};
2425 for(x in data.alarms) {
2426 var alarm = data.alarms[x];
2427 + var chart = options.data.charts[alarm.chart];
2428 + var family = alarm.family;
2429
2428 - if(typeof families[alarm.family] === 'undefined')
2429 - families[alarm.family] = new Array();
2430 + if(typeof chart !== 'undefined' && typeof chart.menu !== 'undefined' && typeof chart.submenu !== 'undefined')
2431 + family = chart.menu + ' - ' + chart.submenu;
2432
2431 - families[alarm.family].push(alarm);
2433 + if(typeof families[family] === 'undefined')
2434 + families[family] = new Array();
2435 +
2436 + families[family].push(alarm);
2437 }
2438
2439 for(x in families) {
@@ -2467,12 +2472,32 @@ function alarmsUpdateModal() {
2472 else
2473 all += footer;
2474
2470 - if(!count_log)
2471 - log += "<h4>No alarms have been logged in this system.</h4>";
2472 -
2475 document.getElementById('alarms_active').innerHTML = active;
2476 document.getElementById('alarms_all').innerHTML = all;
2475 - document.getElementById('alarms_log').innerHTML = log;
2477 +
2478 + NETDATA.alarms.get_log(function(data) {
2479 + if(data === null) {
2480 + document.getElementById('alarms_log').innerHTML =
2481 + 'failed to load alarm data!';
2482 + return;
2483 + }
2484 +
2485 + log += '<table class="table"><tr><th>When</th><th>Chart</th><th>Alarm</th><th>Status</th></tr>';
2486 + var i = 0;
2487 + var len = data.length;
2488 + if(len > 50) len = 50;
2489 + while(i < len) {
2490 + var time = new Date(data[i].when * 1000);
2491 + log += '<tr><td>' + time.toLocaleDateString() + ' ' + time.toLocaleTimeString() + '</td><td>' + data[i].chart + '</td><td>' + data[i].name + '</td><td>' + data[i].status + '</td></tr>';
2492 + i++;
2493 + }
2494 + log += "</table>";
2495 +
2496 + if(i == 0)
2497 + log += "<h4>No alarms have been logged in this system.</h4>";
2498 +
2499 + document.getElementById('alarms_log').innerHTML = log;
2500 + })
2501 });
2502 }
2503