return;
}
+ function alarmid4human(id) {
+ if(id === 0)
+ return '-';
+
+ return id.toString();
+ }
+
function timestamp4human(timestamp, space) {
+ if(timestamp === 0)
+ return '-';
+
if(typeof space === 'undefined')
space = ' ';
title: 'Event Date',
valign: 'middle',
titleTooltip: 'The date and time the even took place',
- switchable: false,
- sortable: true,
formatter: function(value, row, index) { return timestamp4human(value, ' '); },
+ align: 'center',
+ valign: 'middle',
+ switchable: false,
+ sortable: true
},
{
field: 'hostname',
title: 'Host',
valign: 'middle',
titleTooltip: 'The host that generated this event',
+ align: 'center',
+ valign: 'middle',
visible: false,
sortable: true
},
field: 'unique_id',
title: 'Unique ID',
titleTooltip: 'The host unique ID for this event',
+ formatter: function(value, row, index) { return alarmid4human(value); },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'alarm_id',
title: 'Alarm ID',
titleTooltip: 'The ID of the alarm that generated this event',
+ formatter: function(value, row, index) { return alarmid4human(value); },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'alarm_event_id',
title: 'Alarm Event ID',
titleTooltip: 'The incremental ID of this event for the given alarm',
+ formatter: function(value, row, index) { return alarmid4human(value); },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'chart',
title: 'Chart',
titleTooltip: 'The chart the alarm is attached to',
+ align: 'center',
valign: 'middle',
switchable: false,
sortable: true
field: 'family',
title: 'Family',
titleTooltip: 'The family of the chart the alarm is attached to',
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
formatter: function(value, row, index) {
return value.toString().replace(/_/g, ' ');
},
+ align: 'center',
valign: 'middle',
switchable: false,
sortable: true
field: 'old_value',
title: 'Old Value',
titleTooltip: 'The value of the alarm, just before this event',
+ formatter: function(value, row, index) {
+ return ((value !== null)?Math.round(value * 100) / 100:'NaN').toString();
+ },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
title: 'Value',
titleTooltip: 'The value of the alarm, that triggered this event',
formatter: function(value, row, index) {
- return ((value !== null)?Math.floor(value):'NaN').toString();
+ return ((value !== null)?Math.round(value * 100) / 100:'NaN').toString();
},
align: 'right',
valign: 'middle',
field: 'units',
title: 'Units',
titleTooltip: 'The units of the value of the alarm',
+ align: 'left',
valign: 'middle',
sortable: true
},
field: 'old_status',
title: 'Old Status',
titleTooltip: 'The status of the alarm, just before this event',
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'status',
title: 'Status',
titleTooltip: 'The status of the alarm, that was set due to this event',
+ align: 'center',
valign: 'middle',
switchable: false,
sortable: true
title: 'Last Duration',
titleTooltip: 'The duration the alarm was at its previous state, just before this event',
formatter: function(value, row, index) { return seconds4human(value, { negative_suffix: '', space: ' ', now: 'no time' }); },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
title: 'Raised Duration',
titleTooltip: 'The duration the alarm was raised, just before this event',
formatter: function(value, row, index) { return seconds4human(value, { negative_suffix: '', space: ' ', now: 'no time' }); },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'recipient',
title: 'Recipient',
titleTooltip: 'The recipient of this event',
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'processed',
title: 'Processed Status',
titleTooltip: 'True when this event is processed',
+ formatter: function(value, row, index) {
+ if(value === true)
+ return 'DONE';
+ else
+ return 'PENDING';
+ },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'updated',
title: 'Updated Status',
titleTooltip: 'True when this event has been updated by another event',
+ formatter: function(value, row, index) {
+ if(value === true)
+ return 'UPDATED';
+ else
+ return 'CURRENT';
+ },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'updated_by_id',
title: 'Updated By ID',
titleTooltip: 'The unique ID of the event that obsoleted this one',
+ formatter: function(value, row, index) { return alarmid4human(value); },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'updates_id',
title: 'Updates ID',
titleTooltip: 'The unique ID of the event obsoleted because of this event',
+ formatter: function(value, row, index) { return alarmid4human(value); },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'exec',
title: 'Script',
titleTooltip: 'The script to handle the event notification',
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
title: 'Script Run At',
titleTooltip: 'The date and time the script has been ran',
formatter: function(value, row, index) { return timestamp4human(value, ' '); },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'exec_code',
title: 'Script Return Value',
titleTooltip: 'The return code of the script',
+ formatter: function(value, row, index) {
+ if(value === 0)
+ return 'OK (returned 0)';
+ else
+ return 'FAILED (with code ' + value.toString() + ')';
+ },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
title: 'Script Delay',
titleTooltip: 'The hysteresis of the notification',
formatter: function(value, row, index) { return seconds4human(value, { negative_suffix: '', space: ' ', now: 'no time' }); },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
title: 'Script Delay Run At',
titleTooltip: 'The date and time the script should be run, after hysteresis',
formatter: function(value, row, index) { return timestamp4human(value, ' '); },
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'info',
title: 'Description',
titleTooltip: 'A short description of the alarm',
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true
field: 'source',
title: 'Alarm Source',
titleTooltip: 'The source of configuration of the alarm',
+ align: 'center',
valign: 'middle',
visible: false,
sortable: true