blob: 6b12b74d03206f2c41d80b05b36a0f799825fd27 [file] [log] [blame]
/*=========================================================================
* Copyright (c) 2012-2014 Pivotal Software, Inc. All Rights Reserved.
* This product is protected by U.S. and international copyright
* and intellectual property laws. Pivotal products are covered by
* one or more patents listed at http://www.pivotal.io/patents.
*=========================================================================
*/
/**
* @overview
* This is the actual response handling and processing of the web calls
* that are made by the PulseFunctions class. It will also process the
* JSON response.
*
* @name PulseCallbacks.js
* @author ashutosh zambare.
* @version 1.0
*
*/
/**
* @function
*
* @param r
* This is the JSON object that is returned by the AJAX call made
* by the PulseFunctions.
*/
var getPulseVersionBack = function(data) {
if (data.pulseVersion != undefined && data.pulseVersion != "") {
// Set Pulse version details
$('#pulseVersion').html(data.pulseVersion);
$('#pulseVer').html(data.pulseVersion);
$('#buildId').html(data.buildId);
$('#buildDate').html(data.buildDate);
$('#sourceDate').html(data.sourceDate);
$('#sourceRevision').html(data.sourceRevision);
$('#sourceRepository').html(data.sourceRepository);
// Display version details link
$('#pulseVersionDetailsLink').show();
} else {
// Hide version details link
$('#pulseVersionDetailsLink').hide();
}
};
/**
* Default handler for ClusterDetails service,
* function used for getting the response of Cluster Basic Details and wired
* them with HTML representing tags.
*/
var getClusterDetailsBack = null;
/**
* For Gemfire, handler for ClusterDetails service
* function used for getting the response of Cluster Basic Details and wired
* them with HTML representing tags.
*/
var getClusterDetailsGemfireBack = function(data) {
if (severAlerts.length > 0) { // Severe
$('#clusterStatusText').html("Severe");
$("#clusterStatusIcon").addClass("severeStatus");
} else if (errorAlerts.length > 0) { // Error
$('#clusterStatusText').html("Error");
$("#clusterStatusIcon").addClass("errorStatus");
$("#clusterStatusIcon").removeClass("severeStatus");
} else if (warningAlerts.length > 0) { // Warning
$('#clusterStatusText').html("Warning");
$("#clusterStatusIcon").addClass("warningStatus");
$("#clusterStatusIcon").removeClass("severeStatus");
$("#clusterStatusIcon").removeClass("errorStatus");
} else { // Normal
$('#clusterStatusText').html("Normal");
$("#clusterStatusIcon").addClass("normalStatus");
$("#clusterStatusIcon").removeClass("severeStatus");
$("#clusterStatusIcon").removeClass("errorStatus");
$("#clusterStatusIcon").removeClass("warningStatus");
}
$('#clusterName').html(data.clusterName);
$('#clusterTotalMembersText').html(data.totalMembers);
$('#clusterServersText').html(data.servers);
$('#clusterClientsText').html(data.clients);
$('#clusterLocatorsText').html(data.locators);
$('#clusterTotalRegionsText').html(data.totalRegions);
$('#clusterTotalHeap').html(data.totalHeap);
$('#clusterFunctions').html(data.functions);
$('#clusterUniqueCQs').html(data.uniqueCQs);
$('#clusterSubscriptionsText').html(data.subscriptions);
$('#userName').html(data.userName);
};
/**
* function to sort array based on
* string property
*/
var sortedArray = function dynamicSort(property) {
return function (obj1,obj2) {
return obj1[property] > obj2[property] ? 1
: obj1[property] < obj2[property] ? -1 : 0;
}
}
/**
* For SQLfire, handler for ClusterDetails service
* function used for getting the response of Cluster Basic Details and wired
* them with HTML representing tags.
*/
var getClusterDetailsSQLfireBack = function(data) {
if (severAlerts.length > 0) { // Severe
$('#clusterStatusText').html("Severe");
$("#clusterStatusIcon").addClass("severeStatus");
} else if (errorAlerts.length > 0) { // Error
$('#clusterStatusText').html("Error");
$("#clusterStatusIcon").addClass("errorStatus");
$("#clusterStatusIcon").removeClass("severeStatus");
} else if (warningAlerts.length > 0) { // Warning
$('#clusterStatusText').html("Warning");
$("#clusterStatusIcon").addClass("warningStatus");
$("#clusterStatusIcon").removeClass("severeStatus");
$("#clusterStatusIcon").removeClass("errorStatus");
} else { // Normal
$('#clusterStatusText').html("Normal");
$("#clusterStatusIcon").addClass("normalStatus");
$("#clusterStatusIcon").removeClass("severeStatus");
$("#clusterStatusIcon").removeClass("errorStatus");
$("#clusterStatusIcon").removeClass("warningStatus");
}
$('#clusterName').html(data.clusterName);
$('#clusterTotalMembersText').html(data.totalMembers);
$('#clusterServersText').html(data.servers);
$('#clusterClientsText').html(data.clients);
$('#clusterLocatorsText').html(data.locators);
$('#clusterTotalRegionsText').html(data.totalRegions);
$('#clusterTotalHeap').html(data.totalHeap);
$('#clusterFunctions').html(data.functions);
$('#clusterTxnCommittedText').html(data.txnCommitted);
$('#clusterTxnRollbackText').html(data.txnRollback);
$('#userName').html(data.userName);
};
/**
* Default handler for ClusterKeyStatistics service,
* function used for getting the response of Cluster Key Statistics widget and wired
* them with HTML representing tags.
*/
var getClusterKeyStatisticsBack = null;
/**
* For Gemfire, handler for ClusterKeyStatistics service
* function used for getting the response of Cluster Key Statistics widget and
* wired them with HTML representing tags.
*/
var getClusterKeyStatisticsGemfireBack = function(data) {
// sparkline graph options
var sparklineOptions = {
width : '300px',
height : '20px',
lineColor : '#00CCFF',
fillColor : false,
spotColor : false,
minSpotColor : false,
maxSpotColor : false
};
var writePerSecTrend = data.writePerSecTrend;
var readPerSecTrend = data.readPerSecTrend;
var queriesPerSecTrend = data.queriesPerSecTrend;
var sumWrites = 0;
for ( var i = 0; i < writePerSecTrend.length; i++) {
sumWrites += writePerSecTrend[i];
}
var avgWrites = 0;
if (writePerSecTrend.length > 0) {
avgWrites = sumWrites / writePerSecTrend.length;
}
var sumReads = 0;
for ( var i = 0; i < readPerSecTrend.length; i++) {
sumReads += readPerSecTrend[i];
}
var avgReads = 0;
if (readPerSecTrend.length > 0) {
avgReads = sumReads / readPerSecTrend.length;
}
var sumQueries = 0;
for ( var i = 0; i < queriesPerSecTrend.length; i++) {
sumQueries += queriesPerSecTrend[i];
}
var avgQueries = 0;
if (queriesPerSecTrend.length > 0) {
avgQueries = sumQueries / queriesPerSecTrend.length;
}
// write per sec
$('#writePerSec').html(applyNotApplicableCheck(avgWrites.toFixed(2)));
$('#writePerSecSparkLine').sparkline(writePerSecTrend, sparklineOptions);
// read per second
$('#readPerSec').html(applyNotApplicableCheck(avgReads.toFixed(2)));
$('#readPerSecSparkLine').sparkline(readPerSecTrend, sparklineOptions);
// queries per sec
$('#queriesPerSec').html(avgQueries.toFixed(2));
$('#queriesPerSecSparkLine').sparkline(queriesPerSecTrend, sparklineOptions);
};
/**
* For SQLfire, handler for ClusterKeyStatistics service
* function used for getting the response of Cluster Key Statistics widget and
* wired them with HTML representing tags.
*/
var getClusterKeyStatisticsSQLfireBack = function(data) {
// sparkline graph options
var sparklineOptions = {
width : '300px',
height : '20px',
lineColor : '#00CCFF',
fillColor : false,
spotColor : false,
minSpotColor : false,
maxSpotColor : false
};
var writePerSecTrend = data.writePerSecTrend;
var readPerSecTrend = data.readPerSecTrend;
var queriesPerSecTrend = data.queriesPerSecTrend;
var sumWrites = 0;
for ( var i = 0; i < writePerSecTrend.length; i++) {
sumWrites += writePerSecTrend[i];
}
var avgWrites = 0;
if (writePerSecTrend.length > 0) {
avgWrites = sumWrites / writePerSecTrend.length;
}
var sumReads = 0;
for ( var i = 0; i < readPerSecTrend.length; i++) {
sumReads += readPerSecTrend[i];
}
var avgReads = 0;
if (readPerSecTrend.length > 0) {
avgReads = sumReads / readPerSecTrend.length;
}
var sumQueries = 0;
for ( var i = 0; i < queriesPerSecTrend.length; i++) {
sumQueries += queriesPerSecTrend[i];
}
var avgQueries = 0;
if (queriesPerSecTrend.length > 0) {
avgQueries = sumQueries / queriesPerSecTrend.length;
}
// write per sec
$('#writePerSec').html(applyNotApplicableCheck(avgWrites.toFixed(2)));
$('#writePerSecSparkLine').sparkline(writePerSecTrend, sparklineOptions);
// read per second
$('#readPerSec').html(applyNotApplicableCheck(avgReads.toFixed(2)));
$('#readPerSecSparkLine').sparkline(readPerSecTrend, sparklineOptions);
};
/**
* function used for getting the response of Cluster WAN Info widget and wired
* them with HTML representing tags.
*/
var getClusterWANInfoBack = function(data) {
var clusterList = data.connectedClusters;
var htmlList = "";
if (clusterList.length > 0) {
$('#wanInfoWidget').show();
for ( var i = 0; i < clusterList.length; i++) {
if (clusterList[i].status == true) {
htmlList += '<div class="statusUpDowmBlock statusUp">' + "Cluster_"
+ clusterList[i].name + '</div>';
} else {
htmlList += '<div class="statusUpDowmBlock statusDown">' + "Cluster_"
+ clusterList[i].name + '</div>';
}
}
$('#wanInfoList').html(htmlList);
$('.scroll-pane_1').jScrollPane();
} else {
$('#wanInfoWidget').hide();
}
};
/**
* function used for getting the response of Cluster Memory Usage widget and
* wired them with HTML representing tags.
*/
var getClusterMemoryUsageBack = function(data) {
var memoryUsageTrend = [];
memoryUsageTrend = data.memoryUsageTrend;
var sumMemory = 0;
for ( var i = 0; i < memoryUsageTrend.length; i++) {
sumMemory += memoryUsageTrend[i];
}
var avgMemory = 0;
if (memoryUsageTrend.length > 0) {
avgMemory = sumMemory / memoryUsageTrend.length;
}
var sparklineOptions = {
width : '230px',
height : '72px',
lineColor : '#FAB948',
fillColor : false,
spotRadius : 2.5,
labelPosition : 'left',
spotColor : false,
minSpotColor : false,
maxSpotColor : false,
lineWidth : 2
};
$('#memoryUsage').sparkline(memoryUsageTrend, sparklineOptions);
// checking if currentMemoryUsage > 1024 then show the result in GB else
// show the result in MB
if (data.currentMemoryUsage > 1024) {
var memoryUsageGB = (avgMemory / 1024).toFixed(2);
$('#currentMemoryUsage').html(memoryUsageGB);
$('#memoryUsageMB').html("GB");
} else {
$('#currentMemoryUsage').html(applyNotApplicableCheck(avgMemory.toFixed(2)));
$('#memoryUsageMB').html("MB");
}
};
/**
* function used for getting the response of Cluster GCPauses widget and wired
* them with HTML representing tags.
*/
var getClusterJVMPausesBack = function(data) {
var gCPausesTrend = [];
gCPausesTrend = data.gCPausesTrend;
var sparklineOptions = {
width : '230px',
height : '72px',
lineColor : '#FAB948',
fillColor : false,
spotRadius : 2.5,
labelPosition : 'left',
spotColor : false,
minSpotColor : false,
maxSpotColor : false,
lineWidth : 2
};
var sumOfPauses = 0;
for ( var i = 0; i < gCPausesTrend.length; i++) {
sumOfPauses += gCPausesTrend[i];
}
$('#gcPauses').sparkline(gCPausesTrend, sparklineOptions);
$('#currentGCPauses').html(sumOfPauses);
};
/**
* function used for getting the response of Cluster ThroughputWrites widget and
* wired them with HTML representing tags.
*/
var getClusterDiskThroughputBack = function(data) {
var throughputReads = data.throughputReads;
var throughputWrites = data.throughputWrites;
var readsSum = 0;
for ( var i = 0; i < throughputReads.length; i++) {
readsSum += throughputReads[i];
}
var avgThroughputReads = 0;
if (throughputReads.length > 0) {
avgThroughputReads = readsSum / throughputReads.length;
}
var writesSum = 0;
for ( var i = 0; i < throughputWrites.length; i++) {
writesSum += throughputWrites[i];
}
var avgThroughputWrites = 0;
if (throughputWrites.length > 0) {
avgThroughputWrites = writesSum / throughputWrites.length;
}
var sparklineOptions = {
width : '230px',
height : '72px',
lineColor : '#FAB948',
lineWidth : 2,
fillColor : false,
spotRadius : 3,
spotColor : false,
minSpotColor : false,
maxSpotColor : false,
highlightSpotColor : false,
composite : false
};
// Reads trends
$('#diskReadsThroughputTrend').sparkline(throughputReads, sparklineOptions);
$('#diskReadsThroughput').html(applyNotApplicableCheck(avgThroughputReads.toFixed(2)));
// Writes trends
sparklineOptions.lineColor = '#2e84bb';
$('#diskWritesThroughputTrend').sparkline(throughputWrites, sparklineOptions);
$('#diskWritesThroughput').html(applyNotApplicableCheck(avgThroughputWrites.toFixed(2)));
};
/**
* function used for getting the response of Member Clients widget and wired
* them with HTML representing tags.
*/
var getMemberClientsBack = function(data) {
$('#memberClientsList').jqGrid('clearGridData');
var clients = data.memberClients;
if (clients.length > 0) {
$('#memberClientsWidget').show();
for ( var i = 0; i < clients.length; i++) {
var clientData = clients[i];
$('#memberClientsList').jqGrid('addRowData', i + 1, clientData);
}
var gridUserData = jQuery("#memberClientsList").getGridParam('userData');
// Apply sort order ans sort columns on updated jqgrid data
jQuery("#memberClientsList").jqGrid('setGridParam', {
sortname : gridUserData.sortColName,
sortorder : gridUserData.sortOrder
});
// Reload jqgrid
jQuery("#memberClientsList").trigger("reloadGrid");
} else {
$('#memberClientsWidget').hide();
}
};
/**
* function used for getting the response of Member Basic Details widget and wired
* them with HTML representing tags.
*/
var getMemberDetailsBack = function(data) {
// check if data for member is available or not
if (data.errorOnMember != undefined && data.errorOnMember != null
&& $.trim(data.errorOnMember) != "") {
// Display error message
var message = data.errorOnMember;
message += "<div class=\"clear\"></div>"
+ "<a onclick=\"openClusterDetail();\" href=\"#.\" >"
+ "Go To Cluster View</a>";
$('#connectionErrorMsgDiv').html(message);
$('#connectionStatusDiv').show();
return;
}
$('#userName').html(data.userName);
$('#clusterNameLink').html(data.clusterName);
$('#memberName').html(data.name);
$('#memberName').prop('title', data.name);
$('#memberRegionsCount').html(data.regionsCount);
$('#loadAverage').html(applyNotApplicableCheck(data.loadAverage));
$('#sockets').html(applyNotApplicableCheck(data.sockets));
$('#threads').html(data.threads);
// off heap free size
var offHeapFreeSize = convertBytesToMBorGB(data.offHeapFreeSize);
$('#offHeapFreeSize').html(offHeapFreeSize[0]+" "+offHeapFreeSize[1]);
// off heap used size
var offHeapUsedSize = convertBytesToMBorGB(data.offHeapUsedSize);
$('#offHeapUsedSize').html(offHeapUsedSize[0]+" "+offHeapUsedSize[1]);
$('#numClients').html(data.numClients);
// setting member status according to notification alert
$('#memberStatus').html(data.status);
if (data.status == "Severe") { // Severes
if ($("#memberStatusIcon").hasClass("normalStatus"))
$("#memberStatusIcon").removeClass("normalStatus");
if ($("#memberStatusIcon").hasClass("errorStatus"))
$("#memberStatusIcon").removeClass("errorStatus");
if ($("#memberStatusIcon").hasClass("warningStatus"))
$("#memberStatusIcon").removeClass("warningStatus");
$('#memberStatus').html("Severe");
$("#memberStatusIcon").addClass("severeStatus");
} else if (data.status == "Error") { // Error
if ($("#memberStatusIcon").hasClass("normalStatus")) {
$("#memberStatusIcon").removeClass("normalStatus");
}
if ($("#memberStatusIcon").hasClass("warningStatus")) {
$("#memberStatusIcon").removeClass("warningStatus");
}
$("#memberStatusIcon").addClass("errorStatus");
$('#memberStatus').html("Error");
} else if (data.status == "Warning") { // Warning
if ($("#memberStatusIcon").hasClass("normalStatus")) {
$("#memberStatusIcon").removeClass("normalStatus");
}
if ($("#memberStatusIcon").hasClass("errorStatus")) {
$("#memberStatusIcon").removeClass("errorStatus");
}
if ($("#memberStatusIcon").hasClass("severeStatus")) {
$("#memberStatusIcon").removeClass("severeStatus");
}
$('#memberStatus').html("Warning");
$("#memberStatusIcon").addClass("warningStatus");
} else { // Normal
if ($("#memberStatusIcon").hasClass("severeStatus"))
$("#memberStatusIcon").removeClass("severeStatus");
if ($("#memberStatusIcon").hasClass("errorStatus"))
$("#memberStatusIcon").removeClass("errorStatus");
if ($("#memberStatusIcon").hasClass("warningStatus"))
$("#memberStatusIcon").removeClass("warningStatus");
$('#memberStatus').html("Normal");
$("#memberStatusIcon").addClass("normalStatus");
}
};
/**
* function used for getting the response of Member KeyStatistics widget and
* wired them with HTML representing tags.
*/
var getMemberKeyStatisticsBack = function(data) {
// sparkline graph options
var sparklineOptions = {
width : '300px',
height : '20px',
lineColor : '#00CCFF',
fillColor : false,
spotColor : false,
minSpotColor : false,
maxSpotColor : false
};
// cpu usage
var sumCPUUsage = 0;
var cpuUsageTrend = data.cpuUsageTrend;
for ( var i = 0; i < cpuUsageTrend.length; i++) {
sumCPUUsage += cpuUsageTrend[i];
}
var avgCPUUsage = 0;
if (cpuUsageTrend.length > 0) {
avgCPUUsage = sumCPUUsage / cpuUsageTrend.length;
}
$('#memberCPUUsageValue').html(avgCPUUsage.toFixed(2));
$('#memberCPUUsageSparkLine').sparkline(data.cpuUsageTrend, sparklineOptions);
// gets per sec
var readPerSecTrend = data.readPerSecTrend;
var sumReads = 0;
for ( var i = 0; i < readPerSecTrend.length; i++) {
sumReads += readPerSecTrend[i];
}
var avgReads = 0;
if (readPerSecTrend.length > 0) {
avgReads = sumReads / readPerSecTrend.length;
}
$('#memberGetsPerSecValue').html(applyNotApplicableCheck(avgReads.toFixed(2)));
$('#memberGetsPerSecSparkLine').sparkline(data.readPerSecTrend,
sparklineOptions);
// puts per sec
var writePerSecTrend = data.writePerSecTrend;
var sumWrites = 0;
for ( var i = 0; i < writePerSecTrend.length; i++) {
sumWrites += writePerSecTrend[i];
}
var avgWrites = 0;
if (writePerSecTrend.length > 0) {
avgWrites = sumWrites / writePerSecTrend.length;
}
$('#memberPutsPerSecValue').html(applyNotApplicableCheck(avgWrites.toFixed(2)));
$('#memberPutsPerSecSparkLineBar').sparkline(data.writePerSecTrend,
sparklineOptions);
};
/**
* function used for getting the response of Member GCPauses widget and wired
* them with HTML representing tags.
*/
var getMemberGCPausesBack = function(data) {
gcPausesTrend = data.gcPausesTrend;
var sparklineOptions = {
width : '230px',
height : '72px',
lineColor : '#FAB948',
fillColor : false,
spotRadius : 2.5,
labelPosition : 'left',
spotColor : false,
minSpotColor : false,
maxSpotColor : false,
lineWidth : 2
};
var sumOfPauses = 0;
for ( var i = 0; i < gcPausesTrend.length; i++) {
sumOfPauses += gcPausesTrend[i];
}
$('#memberGCPauses').sparkline(gcPausesTrend, sparklineOptions);
$('#memberGcPausesAvg').html(sumOfPauses);
};
/**
* function used for getting the response of Member HeapUsage widget and wired
* them with HTML representing tags.
*/
var getMemberHeapUsageBack = function(data) {
var heapUsageTrend = [];
heapUsageTrend = data.heapUsageTrend;
var sumMemory = 0;
for ( var i = 0; i < heapUsageTrend.length; i++) {
sumMemory += heapUsageTrend[i];
}
var avgMemory = 0;
if (heapUsageTrend.length > 0) {
avgMemory = sumMemory / heapUsageTrend.length;
}
var sparklineOptions = {
width : '230px',
height : '72px',
lineColor : '#FAB948',
fillColor : false,
spotRadius : 2.5,
labelPosition : 'left',
spotColor : false,
minSpotColor : false,
maxSpotColor : false,
lineWidth : 2
};
$('#memberHeapUsage').sparkline(heapUsageTrend, sparklineOptions);
// set current value
if (avgMemory > 1024) {
var heapUsageGB = (avgMemory / 1024).toFixed(2);
$('#memberHeapUsageAvg').html(
heapUsageGB + ' <span class="font-size23 paddingL5">GB</span>');
} else {
$('#memberHeapUsageAvg')
.html(
applyNotApplicableCheck(avgMemory.toFixed(2))
+ ' <span class="font-size23 paddingL5">MB</span>');
}
};
/**
* function used for getting the response of Member TroughputWrites widget and
* wired them with HTML representing tags.
*/
var getMemberDiskThroughputBack = function(data) {
var throughputReadsTrend = data.throughputReadsTrend;
var throughputWritesTrend = data.throughputWritesTrend;
var readsSum = 0;
for ( var i = 0; i < throughputReadsTrend.length; i++) {
readsSum += throughputReadsTrend[i];
}
var avgThroughputReads = 0;
if (throughputReadsTrend.length > 0) {
avgThroughputReads = readsSum / throughputReadsTrend.length;
}
var writesSum = 0;
for ( var i = 0; i < throughputWritesTrend.length; i++) {
writesSum += throughputWritesTrend[i];
}
var avgThroughputWrites = 0;
if (throughputWritesTrend.length > 0) {
avgThroughputWrites = writesSum / throughputWritesTrend.length;
}
var sparklineOptions = {
width : '230px',
height : '72px',
lineColor : '#FAB948',
lineWidth : 2,
fillColor : false,
spotRadius : 3,
spotColor : false,
minSpotColor : false,
maxSpotColor : false,
highlightSpotColor : false,
composite : false
};
// Reads trends
// sparklineOptions.lineColor = '#87b025';
$('#diskReadsThroughputTrend').sparkline(throughputReadsTrend,
sparklineOptions);
$('#diskReadsThroughput').html(applyNotApplicableCheck(avgThroughputReads.toFixed(2)));
// Writes trends
sparklineOptions.lineColor = '#2e84bb';
$('#diskWritesThroughputTrend').sparkline(throughputWritesTrend,
sparklineOptions);
$('#diskWritesThroughput').html(applyNotApplicableCheck(avgThroughputWrites.toFixed(2)));
};
/**
* function used for getting the response of Member GatewayHub widget and wired
* them with HTML representing tags.
*/
var getMemberGatewayHubBack = function(data) {
var gatewayDetails = data;
if ((!data.isGatewayReceiver) && (!data.isGatewaySender)) {
// hide widget
$('#MemberGatewayHubWidget').hide();
return;
} else {
// show widget
$('#MemberGatewayHubWidget').show();
}
if (data.isGatewayReceiver) {
if (data.listeningPort != undefined && data.listeningPort != "") {
$('#receiverListeningPort').html(data.listeningPort);
} else {
$('#receiverListeningPort').html('-');
}
if (data.linkTroughput != undefined) {
$('#receiverLinkThroughput').html(data.linkTroughput.toFixed(1));
} else {
$('#receiverLinkThroughput').html('-');
}
if (data.avgBatchLatency != undefined ) {
$('#receiverAvgBatchLatency').html(
data.avgBatchLatency
+ ' <span class="font-size13 paddingL5">ms</span>');
} else {
$('#receiverAvgBatchLatency').html('-');
}
} else {
$('#receiverListeningPort').html('-');
$('#receiverLinkThroughput').html('-');
$('#receiverAvgBatchLatency').html('-');
}
if (data.isGatewaySender) {
var endPoints = gatewayDetails.gatewaySenders;
var htmlListEndPoints = "";
endPoints = endPoints.sort(sortedArray('id'));
for ( var i = 0; i < endPoints.length; i++) {
htmlListEndPoints += '<div>'
+ '<span class="pointDetailsPaddingMember pointC1" title="'
+ endPoints[i].id + '">' + endPoints[i].id + '</span>'
+ '<span class="pointDetailsPaddingMember pointC2" title="'
+ endPoints[i].queueSize + '">' + endPoints[i].queueSize + '</span>';
if (endPoints[i].status == true) {
htmlListEndPoints += '<span class="pointDetailsPaddingMember pointC3" title="Running"><img src="images/status-up.png"></span>';
} else if (endPoints[i].status == false) {
htmlListEndPoints += '<span class="pointDetailsPaddingMember pointC3" title="Not Running"><img src="images/status-down.png"></span>';
}
htmlListEndPoints += '</div>';
}
$('#gatewaySendersList').html(htmlListEndPoints);
if(endPoints.length == 0){
$('#idGatewaySenderMoreDetailsLink').hide();
}
var regionList = gatewayDetails.regionsInvolved;
var htmlListRegions = "";
for ( var i = 0; i < regionList.length; i++) {
htmlListRegions += '<div> <span class="pointDetailsPaddingMember pointC1-2">'
+ regionList[i].name
+ '</span><span class="pointDetailsPaddingMember pointC3"></div>';
}
$('#regionInvolvedList').html(htmlListRegions);
// initialize for the popup
gatewaysenderEndpoints = gatewayDetails.gatewaySenders;
$('.pointGridData').jScrollPane();
$('#idGatewaySenderMoreDetailsLink').show();
} else {
$('#idGatewaySenderMoreDetailsLink').hide();
}
};
/**
* function used for getting the response of Member Asynch Event Queues widget and wired
* them with HTML representing tags.
*/
var getMemberAsynchEventQueuesBack = function(data) {
if (!data.isAsyncEventQueuesPresent) {
// hide widget
$('#MemberAsynchEventQueuesWidget').hide();
return;
} else {
// show widget
$('#MemberAsynchEventQueuesWidget').show();
}
asyncEventQueueData = data.asyncEventQueues;
asyncEventQueueData = asyncEventQueueData.sort(sortedArray('id'));
if (asyncEventQueueData.length > 0){
var htmlListQueues = "";
for ( var i = 0; i < asyncEventQueueData.length; i++) {
htmlListQueues += '<div>'
+ '<span class="pointDetailsPaddingMember pointC1" title="'
+ asyncEventQueueData[i].id + '">' + asyncEventQueueData[i].id + '</span>'
+ '<span class="pointDetailsPaddingMember pointC2" title="'
+ asyncEventQueueData[i].queueSize + '">' + asyncEventQueueData[i].queueSize + '</span>';
if (asyncEventQueueData[i].primary == true) {
htmlListQueues += '<span class="pointDetailsPaddingMember pointC3" title="Primary">Primary</span>';
} else if (asyncEventQueueData[i].primary == false) {
htmlListQueues += '<span class="pointDetailsPaddingMember pointC3" title="Not Primary">Secondary</span>';
}
htmlListQueues += '</div>';
}
$('#asynchList').html(htmlListQueues);
$('.pointGridData').jScrollPane();
$('#idAsynchMoreDetailsLink').show();
} else {
$('#idAsynchMoreDetailsLink').hide();
}
};
var getClearAllAlertsBack = function(data) {
numTotalSeverAlerts = 0;
numTotalErrorAlerts = 0;
numTotalWarningAlerts = 0;
severAlerts.splice(0, severAlerts.length);
errorAlerts.splice(0, errorAlerts.length);
warningAlerts.splice(0, warningAlerts.length);
document.getElementById("severeList").innerHTML = "";
document.getElementById("severeTotalCount").innerHTML = "";
document.getElementById("severeTotalCount").innerHTML = "0";
document.getElementById("errorList").innerHTML = "";
document.getElementById("errorTotalCount").innerHTML = "";
document.getElementById("errorTotalCount").innerHTML = "0";
document.getElementById("warningList").innerHTML = "";
document.getElementById("warningTotalCount").innerHTML = "";
document.getElementById("warningTotalCount").innerHTML = "0";
document.getElementById("allAlertList").innerHTML = "";
document.getElementById("allAlertCount").innerHTML = "";
document.getElementById("allAlertCount").innerHTML = "0";
// Hide Load More
$('#containerLoadMoreAlertsLink').hide();
// update dashboard stats
displayClusterStatus();
if (!(document.getElementById("memberStatusIcon") == null)) {
$('#memberStatus').html("Normal");
$("#memberStatusIcon").addClass("normalStatus");
if ($("#memberStatusIcon").hasClass("severeStatus"))
$("#memberStatusIcon").removeClass("severeStatus");
if ($("#memberStatusIcon").hasClass("errorStatus"))
$("#memberStatusIcon").removeClass("errorStatus");
if ($("#memberStatusIcon").hasClass("warningStatus"))
$("#memberStatusIcon").removeClass("warningStatus");
}
$("#allAlertScrollPane").addClass("hide-scroll-pane");
};
function getSystemAlertsBack(data) {
if (data.connectedFlag) {
$('#connectionStatusDiv').hide();
} else {
$('#connectionStatusDiv').show();
$('#connectionErrorMsgDiv').html(data.connectedErrorMsg);
}
$('#pageNumber').val(data.pageNumber);
// Update global alerts variables
severAlerts = new Array();
if(undefined != data.systemAlerts.severe){
severAlerts = data.systemAlerts.severe;
}
errorAlerts = new Array();
if(undefined != data.systemAlerts.errors){
errorAlerts = data.systemAlerts.errors;
}
warningAlerts = new Array();
if(undefined != data.systemAlerts.warnings){
warningAlerts = data.systemAlerts.warnings;
}
infoAlerts = new Array();
if(undefined != data.systemAlerts.info){
infoAlerts = data.systemAlerts.info;
}
// Apply filter if text criteria is already specified by user on ui
applyFilterOnNotificationsList(currentActiveNotificationTab);
};
/**
* function used for getting the response of Cluster R Graph widget and wired
* them with HTML representing tags.
*/
var getClusterMembersRGraphBack = function(data) {
// if member count is < 50 then make R-Graph as default view
if ("" == flagActiveTab && data.memberCount <= 50) {
openViewPanel('member', 'default','rgraph');
} else if ("" == flagActiveTab && data.memberCount > 50
&& data.memberCount <= 100) {
// if member count is > 50 and <=100 then make Tree map as default view
openViewPanel('member', 'default','treemap');
} else if ("" == flagActiveTab && data.memberCount > 100) { // if member
// count is > 100 then make grid as default view
openViewPanel('member', 'default','grid');
}
if (flagActiveTab == "MEM_R_GRAPH_DEF") // if
{
clusteRGraph.loadJSON(data.clustor);
clusteRGraph.compute('end');
if (vMode != 8)
refreshNodeAccAlerts();
clusteRGraph.refresh();
}
};
var getClusterMembersBack = function(data) {
gblClusterMembers = data.members;
memberCount = data.members.length;
if (flagActiveTab == "MEM_TREE_MAP_DEF") {
updateClusterMembersTreeMapDefault(data);
} else if (flagActiveTab == "MEM_TREE_MAP_SG") {
updateClusterMembersTreeMapSG(data);
} else if (flagActiveTab == "MEM_TREE_MAP_RZ") {
updateClusterMembersTreeMapRZ(data);
} else if (flagActiveTab == "MEM_GRID_DEF") {
updateClusterMembersGridDefault(data);
} else if (flagActiveTab == "MEM_GRID_SG") {
updateClusterMembersGridSG(data);
} else if (flagActiveTab == "MEM_GRID_RZ") {
updateClusterMembersGridRZ(data);
} else {
// Do Nothing
}
};
/**
* function used for getting the response of Cluster Member Default Tree Map
* widget and wired them with HTML representing tags.
*/
var updateClusterMembersTreeMapDefault = function(data) {
var members = data.members;
var json = buildDefaultMembersTreeMapData(members);
clusterMemberTreeMap.loadJSON(json);
clusterMemberTreeMap.refresh();
};
/**
* function used for getting the response of Cluster Member Default Tree Map
* widget and wired them with HTML representing tags.
*/
var updateClusterMembersTreeMapSG = function(data) {
var members = data.members;
var json = buildSGMembersTreeMapData(members);
clusterSGMemberTreeMap.loadJSON(json);
clusterSGMemberTreeMap.refresh();
};
/**
* function used for getting the response of Cluster Member Default Tree Map
* widget and wired them with HTML representing tags.
*/
var updateClusterMembersTreeMapRZ = function(data) {
var members = data.members;
var json = buildRZMembersTreeMapData(members);
clusterRZMemberTreeMap.loadJSON(json);
clusterRZMemberTreeMap.refresh();
};
/**
* function used for getting the response of Cluster Member Default Tree Map
* widget and wired them with HTML representing tags.
*/
var updateClusterRegionsTreeMapDefault = function(data) {
var regions = data.regions;
var json = buildRegionsTreeMapData(regions);
clusterRegionsTreeMap.loadJSON(json);
clusterRegionsTreeMap.refresh();
};
var updateClusterMembersGridDefault = function(data) {
var members = data.members;
memberCount = members.length;
$('#memberList').jqGrid('clearGridData');
for ( var i = 0; i < members.length; i++) {
var memberData = members[i];
$('#memberList').jqGrid('addRowData',
memberData.memberId + "&" + memberData.name, memberData);
}
var gridUserData = jQuery("#memberList").getGridParam('userData');
// Apply sort order ans sort columns on updated jqgrid data
jQuery("#memberList").jqGrid('setGridParam', {
sortname : gridUserData.sortColName,
sortorder : gridUserData.sortOrder
});
// Reload jqgrid
jQuery("#memberList").trigger("reloadGrid");
// apply scroll if grid container block is not minimized
if ($("#LargeBlock_1").css("display") != "none") {
$('.ui-jqgrid-bdiv').jScrollPane();
}
};
var updateClusterMembersGridSG = function(data) {
var members = buildSGMembersGridData(data.members);
$('#memberListSG').jqGrid('clearGridData');
for ( var i = 0; i < members.length; i++) {
var memberData = members[i];
$('#memberListSG').jqGrid('addRowData',
memberData.memberId + "&" + memberData.name, memberData);
}
var gridUserData = jQuery("#memberListSG").getGridParam('userData');
// Apply sort order ans sort columns on updated jqgrid data
jQuery("#memberListSG").jqGrid('setGridParam', {
sortname : gridUserData.sortColName,
sortorder : gridUserData.sortOrder
});
// Reload jqgrid
jQuery("#memberListSG").trigger("reloadGrid");
// apply scroll if grid container block is not minimized
if ($("#LargeBlock_1").css("display") != "none") {
$('.ui-jqgrid-bdiv').jScrollPane();
}
};
var updateClusterMembersGridRZ = function(data) {
var members = buildRZMembersGridData(data.members);
$('#memberListRZ').jqGrid('clearGridData');
for ( var i = 0; i < members.length; i++) {
var memberData = members[i];
$('#memberListRZ').jqGrid('addRowData',
memberData.memberId + "&" + memberData.name, memberData);
}
var gridUserData = jQuery("#memberListRZ").getGridParam('userData');
// Apply sort order ans sort columns on updated jqgrid data
jQuery("#memberListRZ").jqGrid('setGridParam', {
sortname : gridUserData.sortColName,
sortorder : gridUserData.sortOrder
});
// Reload jqgrid
jQuery("#memberListRZ").trigger("reloadGrid");
// apply scroll if grid container block is not minimized
if ($("#LargeBlock_1").css("display") != "none") {
$('.ui-jqgrid-bdiv').jScrollPane();
}
};
var updateClusterRegionsGridDefault = function(data) {
var regions = data.regions;
$('#regionsList').jqGrid('clearGridData');
for ( var i = 0; i < regions.length; i++) {
var regionData = regions[i];
$('#regionsList').jqGrid('addRowData',
regionData.id + "&" + regionData.name, regionData);
}
var gridUserData = jQuery("#regionsList").getGridParam('userData');
// Apply sort order ans sort columns on updated jqgrid data
jQuery("#regionsList").jqGrid('setGridParam', {
sortname : gridUserData.sortColName,
sortorder : gridUserData.sortOrder
});
// Reload jqgrid
jQuery("#regionsList").trigger("reloadGrid");
// apply scroll if grid container block is not minimized
if ($("#LargeBlock_1").css("display") != "none") {
$('.ui-jqgrid-bdiv').jScrollPane();
}
};
// function used for applying filter of cluster regions in data view screen
var applyFilterOnClusterRegions = function() {
// console.log("applyFilterOnClusterRegions called");
var searchKeyword = extractFilterTextFrom("filterClusterRegionsBox");
if (searchKeyword != "") {
var filteredClusterRegions = new Array();
for ( var i = 0; i < clusterDataViewRegions.length; i++) {
// filtered list
if (clusterDataViewRegions[i].name.toLowerCase().indexOf(searchKeyword) !== -1) {
filteredClusterRegions.push(clusterDataViewRegions[i]);
}
}
updateDataViewDetails(filteredClusterRegions);
} else {
updateDataViewDetails(clusterDataViewRegions);
}
};
// update the cluster regions grid and treemap view on data view page
function updateDataViewDetails(clusterRegions) {
$('#regionList').jqGrid('clearGridData');
jQuery("#regionList").trigger("reloadGrid");
// variable to store value of total of entry counts of all regions
var totalOfEntryCounts = 0;
// flag to determine if all regions are having entry count = 0
var flagSetEntryCountsToZero = false;
// Calculate the total of all regions entry counts
for ( var i = 0; i < clusterRegions.length; i++) {
totalOfEntryCounts += clusterRegions[i].entryCount;
}
// If totalOfEntryCounts is zero and at least one region is present
// then set flagSetEntryCountsToZero to avoid displaying circles
// in treemap as all valid regions are zero area regions and also display
// all regions with evenly placement of blocks
if (totalOfEntryCounts == 0 && clusterRegions.length > 0) {
flagSetEntryCountsToZero = true;
}
var childerensVal = [];
if (clusterRegions.length > 0) {
if (selectedDataViewTM == "") {
selectedDataViewTM = clusterRegions[0].regionPath;
} else {
// check selected region exists or not
// if selected region does not exists, set first region as selected
// region
var selectedRegionExists = false;
for ( var i = 0; i < clusterRegions.length; i++) {
if (selectedDataViewTM == clusterRegions[i].regionPath) {
selectedRegionExists = true;
}
}
if (!selectedRegionExists) {
selectedDataViewTM = clusterRegions[0].regionPath;
}
}
for ( var i = 0; i < clusterRegions.length; i++) {
$('#regionList').jqGrid('addRowData', i + 1, clusterRegions[i]);
var entryCount = clusterRegions[i].systemRegionEntryCount;
// If flagSetEntryCountsToZero is true then set entry count to
// display all
// regions with evenly placement of blocks
if (flagSetEntryCountsToZero && entryCount == 0) {
entryCount = 1;
}
var color = colorCodeForRegions;
if(clusterRegions[i].systemRegionEntryCount == 0){
color = colorCodeForZeroEntryCountRegions;
}
if (selectedDataViewTM == clusterRegions[i].regionPath)
color = colorCodeForSelectedRegion;
var wanEnabled = clusterRegions[i].wanEnabled;
var wanEnabledxt = "";
if (wanEnabled == true)
wanEnabledxt = "WAN Enabled";
// if (entryCount == 0)
// entryCount = 1;
var dataVal = {
"name" : clusterRegions[i].name,
"id" : clusterRegions[i].regionPath,
"$color" : color,
"$area" : entryCount,
"systemRegionEntryCount" : clusterRegions[i].systemRegionEntryCount,
"type" : clusterRegions[i].type,
"regionPath" : clusterRegions[i].regionPath,
"entrySize" : clusterRegions[i].entrySize,
"memberCount" : clusterRegions[i].memberCount,
"writes" : clusterRegions[i].putsRate,
"reads" : clusterRegions[i].getsRate,
"emptyNodes" : clusterRegions[i].emptyNodes,
"persistence" : clusterRegions[i].persistence,
"isEnableOffHeapMemory" : clusterRegions[i].isEnableOffHeapMemory,
"compressionCodec" : clusterRegions[i].compressionCodec,
"isHDFSWriteOnly" : clusterRegions[i].isHDFSWriteOnly,
"memberNames" : clusterRegions[i].memberNames,
"memoryWritesTrend" : clusterRegions[i].memoryWritesTrend,
"memoryReadsTrend" : clusterRegions[i].memoryReadsTrend,
"diskWritesTrend" : clusterRegions[i].diskWritesTrend,
"diskReadsTrend" : clusterRegions[i].diskReadsTrend,
"memoryUsage" : clusterRegions[i].memoryUsage,
"dataUsage" : clusterRegions[i].dataUsage,
"totalDataUsage" : clusterRegions[i].totalDataUsage,
"totalMemory" : clusterRegions[i].totalMemory
};
var childrenVal = {
"children" : [],
"data" : dataVal,
"id" : clusterRegions[i].regionPath,
"name" : wanEnabledxt
};
if (selectedDataViewTM == clusterRegions[i].regionPath)
displayRegionDetails(dataVal);
childerensVal[i] = childrenVal;
}
} else {
var dataVal = {
"name" : "",
"id" : "",
"$color" : "",
"$area" : 0,
"systemRegionEntryCount" : "",
"type" : "",
"regionPath" : "",
"entrySize" : "",
"memberCount" : "",
"writes" : "",
"reads" : "",
"emptyNodes" : "",
"persistence" : "",
"isEnableOffHeapMemory" : "",
"compressionCodec" : "",
"isHDFSWriteOnly" : "",
"memberNames" : "",
"memoryWritesTrend" : "",
"memoryReadsTrend" : "",
"diskWritesTrend" : "",
"diskReadsTrend" : "",
"memoryUsage" : 0,
"dataUsage" : "",
"totalDataUsage" : "",
"totalMemory" : 0
};
displayRegionDetails(dataVal);
}
var json = {
"children" : childerensVal,
"data" : {},
"id" : "root",
"name" : "Regions"
};
var gridUserData = jQuery("#regionList").getGridParam('userData');
// Apply sort order ans sort columns on updated jqgrid data
jQuery("#regionList").jqGrid('setGridParam', {
sortname : gridUserData.sortColName,
sortorder : gridUserData.sortOrder
});
// Reload jqgrid
jQuery("#regionList").trigger("reloadGrid");
$('.ui-jqgrid-bdiv').jScrollPane();
// Load treemap
dataViewRegionTM.loadJSON(json);
dataViewRegionTM.refresh();
}
// Callback function for ClusterRegion serice
var getClusterRegionsBack = function(data) {
if (flagActiveTab == "DATA_TREE_MAP_DEF") {
updateClusterRegionsTreeMapDefault(data);
} else if (flagActiveTab == "DATA_GRID_DEF") {
updateClusterRegionsGridDefault(data);
}
};
//Callback function for ClusterRegion serice
var getClusterRegionBack = function(data) {
$('#userName').html(data.userName);
document.getElementById("clusterName").innerHTML = data.clusterName;
clusterDataViewRegions = data.region;
// aaply filter and update data view details
applyFilterOnClusterRegions();
};
// function used for applying filter of member names in data view screen
var applyFilterOnMembersList = function() {
var searchKeyword = extractFilterTextFrom('filterMembersListBox');
var htmlMemberListWithFilter = '';
if (searchKeyword != "") {
for ( var i = 0; i < memberList.length; i++) {
// filtered list
if (memberList[i].name.toLowerCase().indexOf(searchKeyword) !== -1) {
var divId = memberList[i].id + "&" + memberList[i].name;
htmlMemberListWithFilter += "<div class='pointDetailsPadding' title='"
+ memberList[i].name + "' id='" + divId
+ "' onClick = 'javascript:openMemberDetails(this.id)'>"
+ memberList[i].name + "</div>";
}
}
} else {
for ( var i = 0; i < memberList.length; i++) {
// non filtered list
var divId = memberList[i].id + "&" + memberList[i].name;
htmlMemberListWithFilter += "<div class='pointDetailsPadding' title='"
+ memberList[i].name + "' id='" + divId
+ "' onClick = 'javascript:openMemberDetails(this.id)'>"
+ memberList[i].name + "</div>";
}
}
document.getElementById("memberNames").innerHTML = htmlMemberListWithFilter;
$('.regionMembersSearchBlock').jScrollPane();
};
// function used for redirecting to member details page on click of any member
// name from
// the member names list.
var openMemberDetails = function(divId) {
var member = divId.split("&");
location.href = 'MemberDetails.html?member=' + member[0] + '&memberName='
+ member[1];
};
// function used for applying filter of member regions in member details page
var applyFilterOnMemberRegions = function() {
// console.log("applyFilterOnMemberRegions called");
var searchKeyword = extractFilterTextFrom("filterMemberRegionsBox");
if (searchKeyword != "") {
var filteredMemberRegions = new Array();
for ( var i = 0; i < memberRegions.length; i++) {
// filtered list
if (memberRegions[i].name.toLowerCase().indexOf(searchKeyword) !== -1) {
filteredMemberRegions.push(memberRegions[i]);
}
}
updateMemberRegionViewDetails(filteredMemberRegions);
} else {
updateMemberRegionViewDetails(memberRegions);
}
};
// update the member regions grid and treemap view on members details page
function updateMemberRegionViewDetails(regions) {
$('#memberRegionsList').jqGrid('clearGridData');
jQuery("#memberRegionsList").trigger("reloadGrid");
var childerensVal = [];
// variable to store value of total of entry counts of all regions
var totalOfEntryCounts = 0;
// flag to determine if all regions are having entry count = 0
var flagSetEntryCountsToZero = false;
// Calculate the total of all regions entry counts
for ( var i = 0; i < regions.length; i++) {
totalOfEntryCounts += regions[i].entryCount;
}
// If totalOfEntryCounts is zero and at least one region is present
// then set flagSetEntryCountsToZero to avoid displaying circles
// in treemap as all valid regions are zero area regions and also display
// all regions with evenly placement of blocks
if (totalOfEntryCounts == 0 && regions.length > 0) {
flagSetEntryCountsToZero = true;
}
for ( var i = 0; i < regions.length; i++) {
var regionData = regions[i];
$('#memberRegionsList').jqGrid('addRowData', i + 1, regionData);
var name = "";
name = regions[i].name;
var regionFullPath = regions[i].fullPath;
var entryCount = regions[i].entryCount;
// If flagSetEntryCountsToZero is true then set entry count to display
// all
// regions with evenly placement of blocks
if (flagSetEntryCountsToZero && entryCount == 0) {
entryCount = 1;
}
// if(entryCount == 0)
// entryCount = 1;
var colorCode = colorCodeForRegions;
if(regions[i].entryCount == 0){
colorCode = colorCodeForZeroEntryCountRegions;
}
var dataVal = {
"name" : name,
"id" : regionFullPath,
"$color" : colorCode,
"$area" : entryCount,
"regionType" : regions[i].type,
"entryCount" : regions[i].entryCount,
"entrySize" : regions[i].entrySize
};
var childrenVal = {
"children" : [],
"data" : dataVal,
"name" : name,
"id" : regionFullPath
};
childerensVal[i] = childrenVal;
}
var gridUserData = jQuery("#memberRegionsList").getGridParam('userData');
// Apply sort order ans sort columns on updated jqgrid data
jQuery("#memberRegionsList").jqGrid('setGridParam', {
sortname : gridUserData.sortColName,
sortorder : gridUserData.sortOrder
});
var gridHeight = 250;
// Adjust height of div and grid dynamically based on no of rows
if(regions.length > 10) {
gridHeight = 450;
}
jQuery("#memberRegionsList").jqGrid( 'setGridParam', {height : gridHeight} );
$("#gridBlocks_Panel").css('height', gridHeight + 54);
var gviewMemberRegionsListBDiv = $('#gview_memberRegionsList').children('.ui-jqgrid-bdiv');
gviewMemberRegionsListBDiv.css('height',gridHeight);
// Reload jqgrid
jQuery("#memberRegionsList").trigger("reloadGrid");
// apply scroll if grid container block is not minimized
if ($("#LargeBlock_1").css("display") != "none") {
$('.ui-jqgrid-bdiv').jScrollPane();
}
if (regions.length > 0) {
var json = {
"children" : childerensVal,
"data" : {},
"name" : "Regions",
"id" : "Root"
};
memberRegionsTreeMap.loadJSON(json);
memberRegionsTreeMap.refresh();
} else {
var json = {
"children" : [],
"data" : {},
"name" : "Regions",
"id" : "Root"
};
memberRegionsTreeMap.loadJSON(json);
memberRegionsTreeMap.refresh();
}
}
// Callback function for MemberRegions serice
var getMemberRegionsBack = function(data) {
$('#memberRegionsList').jqGrid('clearGridData');
memberRegions = data.memberRegions;
// apply filter and update region details
applyFilterOnMemberRegions();
};
/**
* function used for getting the response of Members Name List widget and wired
* them with HTML representing tags.
*/
var getMembersListBack = function(data) {
// Update global list of cluster members
membersList = data.clusterMembers;
// update tabname
$('#clusterNameLink').html(data.clusterName);
// add filter functionality
if (!isMemberListFilterHandlerBound) {
$('#filterMembersBox').bind("keyup", applyFilterOnMembersListDropDown);
isMemberListFilterHandlerBound = true;
}
// apply filter criteria if exist
$('#filterMembersBox').keyup();
};
var getQueryStatisticsBack = function(data) {
// each refresh display jmx connectiopn status
if (data.connectedFlag) {
$('#connectionStatusDiv').hide();
} else {
$('#connectionStatusDiv').show();
$('#connectionErrorMsgDiv').html(data.connectedErrorMsg);
}
//load the data
$('#queryStatisticsList').jqGrid('clearGridData');
if (data.queriesList.length > 0) {
// load all queries
grid.jqGrid("getGridParam").data = data.queriesList;
var gridUserData = jQuery("#queryStatisticsList").getGridParam('userData');
// Apply sort order ans sort columns on updated jqgrid data
jQuery("#queryStatisticsList").jqGrid('setGridParam', {
sortname : gridUserData.sortColName,
sortorder : gridUserData.sortOrder
});
// Reload jqgrid
jQuery("#queryStatisticsList").trigger("reloadGrid");
var queryStatisticsList = $('#gview_queryStatisticsList');
var queryStatisticsListChild = queryStatisticsList
.children('.ui-jqgrid-bdiv');
var api = queryStatisticsListChild.data('jsp');
api.reinitialise();
$('#queryStatisticsList').toggle();
refreshTheGrid($('#queryStatisticsList'));
}
};
//Callback function for ClusterSelectedRegion serice
var getClusterSelectedRegionBack = function(data) {
$('#userName').html(data.userName);
$('#clusterName').html(data.clusterName);
$('#idClusterName').html(data.clusterName);
var regionName = data.selectedRegion.name;
if(regionName){
// display details of regions
displaySelectedRegionDetails(regionName, data);
} else {
// check if region error is there and display it
if (data.selectedRegion.errorOnRegion != undefined && data.selectedRegion.errorOnRegion != null
&& $.trim(data.selectedRegion.errorOnRegion) != "") {
// Display error message
var message = data.selectedRegion.errorOnRegion;
message += "<div class=\"clear\"></div>"
+ "<a onclick=\"openClusterDetail();\" href=\"#.\" >"
+ "Go To Cluster View</a>";
$('#connectionErrorMsgDiv').html(message);
$('#connectionStatusDiv').show();
return;
}
}
};
var getClusterSelectedRegionsMemberBack = function(data) {
regionMembers = data.selectedRegionsMembers;
applyFilterOnRegionMembers();
};
function updateClusterSelectedRegionMembers(regionOnMembers){
//check if region error is there and display it
if (regionOnMembers.errorOnRegion != undefined
&& regionOnMembers.errorOnRegion != null
&& $.trim(regionOnMembers.errorOnRegion) != "") {
// Display error message
var message = regionOnMembers.errorOnRegion;
message += "<div class=\"clear\"></div>"
+ "<a onclick=\"openClusterDetail();\" href=\"#.\" >"
+ "Go To Cluster View</a>";
$('#connectionErrorMsgDiv').html(message);
$('#connectionStatusDiv').show();
return;
}
if(regionOnMembers){
// build members tree map
globalJson = buildMemberTreeMap(regionOnMembers);
regionMemberTreeMap.loadJSON(globalJson);
regionMemberTreeMap.refresh();
updateSelectedRegionMembersGrid(regionOnMembers);
memberOnRegionJson = regionOnMembers;
if(tipObj != null){
var key = '';
var spo = {
width : '110px',
height : '50px',
lineColor : '#FAB948',
fillColor : false,
spotRadius : 2.5,
labelPosition : 'left',
spotColor : false,
minSpotColor : false,
maxSpotColor : false,
lineWidth : 2
};
var memberName = tipObj.find('#idMemberName').html();
key = 'memberOnRegionJson.' + memberName + '.entryCount';
tipObj.find('#regionMemberEntryCount').html(eval(key));
key = 'memberOnRegionJson.' + memberName + '.entrySize';
tipObj.find('#regionMemberEntrySize').html(eval(key));
key = 'memberOnRegionJson.' + memberName + '.accessor';
tipObj.find('#regionMemberAccessor').html(eval(key));
key = 'memberOnRegionJson.' + memberName + '.memoryReadsTrend';
tipObj.find('#memberMemoryReadsTrend').sparkline(eval(key),spo);
key = 'memberOnRegionJson.' + memberName + '.diskReadsTrend';
tipObj.find('#memberDiskReadsTrend').sparkline(eval(key),spo);
// Writes trends
spo.lineColor = '#2e84bb';
key = 'memberOnRegionJson.' + memberName + '.diskWritesTrend';
tipObj.find('#memberDiskWritesTrend').sparkline(eval(key),spo);
key = 'memberOnRegionJson.' + memberName + '.memoryWritesTrend';
tipObj.find('#memberMemoryWritesTrend').sparkline(eval(key),spo);
$.sparkline_display_visible();
}
}
};
function refreshTheGrid(gridDiv) {
setTimeout(function(){gridDiv.toggle();}, 500);
}