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