blob: 3eaabd5a2a422848aeff14448784382659e7632e [file] [log] [blame]
/*
* Copyright (c) 2012-2013 Malhar, Inc.
* All Rights Reserved.
*/
/**
* Declaration and initialization for global variables.
*/
// url parameters
var params;
// Page View/Time
var pageViewData;
var pageDataPoints;
var pageViewTable;
var pageViewChart;
var PageViewView;
var pageViewRefresh;
var pageViewLookback;
var pageViewUrl;
var pageViewInterval;
var pageNowPlaying;
// top url(s)
var topUrlTable;
var topUrlTableChart;
// server load
var serverLoadRefresh;
var serverLoadLookback;
var serverName;
var serverLoadDataPoints;
var serverLoadTable;
var serverLoadChart;
var serverLoadView;
var serverLoadInterval;
// Top server(s)
var topServerTable;
var topServerTableChart;
var topIpClientTable;
var topIpClientTableChart;
var riskyClientTableChart;
var url404TableChart;
var server404TableChart;
var serverNowPlaying;
// Get split query string
function QueryString() {
var query_string = {};
var query = window.location.search.substring(1);
return query;
}
function SplitQuery(query)
{
var params = {};
var vars = query.split("&");
for (var i=0;i<vars.length;i++)
{
var pair = vars[i].split("=");
if(pair.length == 2)
{
params[pair[0]] = pair[1];
}
}
return params;
}
// Initialize global variable(s)
function InitializeGlobal()
{
// Initialize params
params = SplitQuery(QueryString());
// intialize page view variables
pageDataPoints = new Array();
pageViewTable = new google.visualization.DataTable();
pageViewTable.addColumn('datetime', 'Time');
pageViewTable.addColumn('number', 'Page View');
pageViewChart = new google.visualization.LineChart(document.getElementById('pageview_chart_div'));
PageViewView = new google.visualization.DataView(pageViewTable);
pageViewRefresh = 5;
pageViewLookback = (new Date().getTime()/1000) - 3600;
document.getElementById('pageviewrefresh').value = "5";
document.getElementById('pageviewlookback').value = "1";
pageViewInterval = 1;
serverLoadRefresh = 5;
serverLoadLookback = (new Date().getTime()/1000) - 3600;
document.getElementById('serverloadrefresh').value = "5";
document.getElementById('serverloadlookback').value = "1";
serverLoadDataPoints = new Array();
serverLoadTable = new google.visualization.DataTable();
serverLoadTable.addColumn('datetime', 'Time');
serverLoadTable.addColumn('number', 'Server Load');
serverLoadChart = new google.visualization.LineChart(document.getElementById('server_load_div'));
serverLoadView = new google.visualization.DataView(serverLoadTable);
serverLoadInterval = 1;
topUrlTableChart = new google.visualization.Table(document.getElementById('top_url_div'));
topServerTableChart = new google.visualization.Table(document.getElementById('top_server_div'));
topIpClientTableChart = new google.visualization.Table(document.getElementById('top_IpClient_div'));
riskyClientTableChart = new google.visualization.Table(document.getElementById('top_ipdata_div'));
url404TableChart = new google.visualization.Table(document.getElementById('url_404_div'));
server404TableChart = new google.visualization.Table(document.getElementById('server_404_div'));
}
/**
* Sort json array
*/
function sortByKey(array, key) {
return array.sort(function(a, b) {
var x = a[key]; var y = b[key];
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
});
}