diff --git a/contrib/monitor/js/eddn.js b/contrib/monitor/js/eddn.js
index 2d082fe..631f9bb 100644
--- a/contrib/monitor/js/eddn.js
+++ b/contrib/monitor/js/eddn.js
@@ -6,15 +6,19 @@ var updateInterval = 60000,
relayBottlePort = 9090,
relays = [
- 'eddn-gateway.elite-markets.net',
- 'eddn-gateway.ed-td.space'
+ 'eddn-relay.elite-markets.net',
+ 'eddn-relay.ed-td.space'
]; // Must find a way to bind them to monitor
var stats = {
- 'gateway' : {},
- 'relay' : {}
+ 'gateways' : {},
+ 'relays' : {}
}; // Stats placeholder
+formatNumber = function(num) {
+ return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,")
+}
+
secondsToDurationString = function(seconds) {
var hours = Math.floor(seconds / 3600);
@@ -40,6 +44,192 @@ secondsToDurationString = function(seconds) {
}
+var doUpdateSoftwares = function()
+{
+ var yesterday = Date.parse('yesterday').toString("yyyy-MM-dd")
+ var today = Date.parse('today').toString("yyyy-MM-dd")
+
+ $.ajax({
+ dataType: "json",
+ url: monitorEndPoint + 'getSoftwares/?dateStart=' + yesterday + '&dateEnd = ' + today,
+ success: function(softwares){
+ $.ajax({
+ dataType: "json",
+ url: monitorEndPoint + 'getTotalSoftwares/',
+ success: function(softwaresTotal){
+ var chart = $('#softwares .chart').highcharts(),
+ series = chart.get('softwares');
+
+ $('#softwares .table tbody').empty();
+
+ $.each(softwaresTotal, function(software, hits){
+ $('#softwares .table tbody').append(
+ $('
').attr('data-name', schema).append(
+ $('').html('' + schema + '')
+ )
+ .append(
+ $(' | ').addClass('stat today').html(formatNumber(schemas[today][schema] || 0))
+ )
+ .append(
+ $(' | ').addClass('stat yesterday').html(formatNumber(schemas[yesterday][schema] || 0))
+ )
+ .append(
+ $(' | ').addClass('stat total').html('' + formatNumber(hits) + '')
+ )
+ );
+
+ var alreadyInChart = false;
+ for( var i = 0, len = chart.get('schemas').data.length; i < len; i++ )
+ {
+ if(chart.get('schemas').data[i]['name'] == schema)
+ {
+ chart.get('schemas').data[i].update(parseInt(hits), false);
+ alreadyInChart = true;
+ break;
+ }
+ }
+
+ if(alreadyInChart === false)
+ series.addPoint({name: schema, y: parseInt(hits)}, false);
+ });
+
+ chart.redraw();
+
+ $('#schemas').find(".stat").removeClass("warning").each(function() {
+ if ($(this).html() == "0")
+ $(this).addClass("warning");
+ });
+ }
+ });
+ }
+ });
+}
+
+
var doUpdates = function(type){
$("select[name=" + type + "] option").each(function(){
var currentItem = $(this).html(),
@@ -65,7 +255,7 @@ var doUpdates = function(type){
shift = chart.get('outbound').data.length > 60;
chart.get('outbound').addPoint([d.getTime(), (data['outbound'] || {})['1min'] || 0], true, shift);
- if(type == 'gateway')
+ if(type == 'gateways')
{
shift = chart.get('invalid').data.length > 60;
chart.get('invalid').addPoint([d.getTime(), (data['invalid'] || {})['1min'] || 0], true, shift);
@@ -83,7 +273,7 @@ var showStats = function(type, currentItem){
el.find(".inbound_5min").html((currentItemStats["inbound"] || {})['5min'] || 0);
el.find(".inbound_60min").html((currentItemStats["inbound"] || {})['60min'] || 0);
- if(type == 'gateway')
+ if(type == 'gateways')
{
el.find(".invalid_1min").html((currentItemStats["invalid"] || {})['1min'] || 0);
el.find(".invalid_5min").html((currentItemStats["invalid"] || {})['5min'] || 0);
@@ -130,21 +320,20 @@ var start = function(){
gateway = gateway.replace('tcp://', '');
gateway = gateway.replace(':8500', '');
- $("select[name=gateway]").append($(' |