You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/09/28 15:15:40 UTC

[68/69] [abbrv] stratos git commit: using clister alias instead of cluster id for navigating from stratos to dashboard

using clister alias instead of cluster id for navigating from stratos to dashboard


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/de80e44c
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/de80e44c
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/de80e44c

Branch: refs/heads/stratos-4.1.x
Commit: de80e44cb60ab3879cb089fe01248dcfe096c4b6
Parents: 224b230
Author: Thanuja <th...@wso2.com>
Authored: Mon Sep 28 15:31:51 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Mon Sep 28 18:44:19 2015 +0530

----------------------------------------------------------------------
 .../theme0/js/custom/applications_topology.js   |  2 +-
 .../capps/jaggery-files/clusters.jag            |  2 +-
 .../capps/jaggery-files/member-count.jag        |  6 +-
 .../capps/jaggery-files/member-info.jag         |  4 +-
 .../capps/jaggery-files/member-status.jag       |  4 +-
 .../capps/jaggery-files/schema.jag              |  2 +-
 .../das/metering-service/capps/mysqlscript.sql  |  4 +-
 .../js/member-details-filter.js                 | 71 ++++++++++-----
 .../js/member-status-filter.js                  | 92 ++++++++++----------
 .../member_count.xml                            |  8 +-
 10 files changed, 109 insertions(+), 86 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/components/org.apache.stratos.manager.console/console/themes/theme0/js/custom/applications_topology.js
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.manager.console/console/themes/theme0/js/custom/applications_topology.js b/components/org.apache.stratos.manager.console/console/themes/theme0/js/custom/applications_topology.js
index 3e3b35a..2bba203 100644
--- a/components/org.apache.stratos.manager.console/console/themes/theme0/js/custom/applications_topology.js
+++ b/components/org.apache.stratos.manager.console/console/themes/theme0/js/custom/applications_topology.js
@@ -216,7 +216,7 @@ function update(source) {
                     "<strong>HostNames: </strong>" + d.hostNames + "<br/>" +
                     "<strong>Service Name: </strong>" + d.serviceName + "<br/>" +
                     "<strong>Status: </strong>" + d.status + "<br/>" +
-                    "<button class='btn btn-info show-usage' id=" + d.name + " name='clusterUsage' onClick='showClusterUsage(this.id)'>Show Usage</button>";
+                    "<button class='btn btn-info show-usage' id=" + d.alias + " name='clusterUsage' onClick='showClusterUsage(this.id)'>Show Usage</button>";
             } else if (d.type == 'members') {
                 if ((typeof d.ports != 'undefined') && (d.ports.length > 0)) {
                     var portsHTML = "<strong>Ports: </strong></br>";

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/jaggery-files/clusters.jag
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/jaggery-files/clusters.jag b/extensions/das/metering-service/capps/jaggery-files/clusters.jag
index c404872..0fbe608 100644
--- a/extensions/das/metering-service/capps/jaggery-files/clusters.jag
+++ b/extensions/das/metering-service/capps/jaggery-files/clusters.jag
@@ -27,7 +27,7 @@
 
     try {
         var applicationId = request.getParameter('applicationId');
-        var result = db.query("SELECT DISTINCT ClusterAlias, ClusterId FROM MEMBER_COUNT WHERE ApplicationId ='" + applicationId + "'");
+        var result = db.query("SELECT DISTINCT ClusterAlias FROM MEMBER_COUNT WHERE ApplicationId = ?", applicationId);
 
         if (result != null) {
             print(result);

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/jaggery-files/member-count.jag
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/jaggery-files/member-count.jag b/extensions/das/metering-service/capps/jaggery-files/member-count.jag
index 5fd0714..a4dbd39 100644
--- a/extensions/das/metering-service/capps/jaggery-files/member-count.jag
+++ b/extensions/das/metering-service/capps/jaggery-files/member-count.jag
@@ -82,9 +82,9 @@
         var clusterId = request.getParameter("clusterId");
 
         if (clusterId == ALL_CLUSTERS) {
-            result = db.query("SELECT FROM_UNIXTIME(CEILING( Time/('" + x_axis_interval + "'*1000)) *'" + x_axis_interval + "', '%Y:%m:%d %h:%i') AS Time, SUM(CreatedInstanceCount) AS CreatedInstanceCount , SUM(InitializedInstanceCount) AS InitializedInstanceCount , SUM(ActiveInstanceCount) AS ActiveInstanceCount, SUM(TerminatedInstanceCount) AS TerminatedInstanceCount FROM " + tableName + " WHERE ApplicationId='" + applicationId + "' AND Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) GROUP BY FROM_UNIXTIME( CEILING( Time/('" + x_axis_interval + "'*1000)) *'"+x_axis_interval+"', '%Y:%m:%d %h:%i'), ApplicationId");
-        }else{
-            result = db.query("SELECT FROM_UNIXTIME(CEILING( Time/('" + x_axis_interval + "'*1000)) *'"+x_axis_interval+"', '%Y:%m:%d %h:%i') AS Time, SUM(CreatedInstanceCount) AS CreatedInstanceCount , SUM(InitializedInstanceCount) AS InitializedInstanceCount , SUM(ActiveInstanceCount) AS ActiveInstanceCount, SUM(TerminatedInstanceCount) AS TerminatedInstanceCount FROM " + tableName + " WHERE ApplicationId='" + applicationId + "' AND ClusterId='" + clusterId + "' AND Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) GROUP BY FROM_UNIXTIME( CEILING( Time/('" + x_axis_interval + "'*1000)) *'"+x_axis_interval+"', '%Y:%m:%d %h:%i')");
+            result = db.query("SELECT FROM_UNIXTIME(CEILING( Time/('" + x_axis_interval + "'*1000)) *'" + x_axis_interval + "', '%Y:%m:%d %h:%i') AS Time, SUM(CreatedInstanceCount) AS CreatedInstanceCount , SUM(InitializedInstanceCount) AS InitializedInstanceCount , SUM(ActiveInstanceCount) AS ActiveInstanceCount, SUM(TerminatedInstanceCount) AS TerminatedInstanceCount FROM " + tableName + " WHERE ApplicationId=? AND Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) GROUP BY FROM_UNIXTIME( CEILING( Time/('" + x_axis_interval + "'*1000)) *'"+x_axis_interval+"', '%Y:%m:%d %h:%i'), ApplicationId", applicationId);
+        } else {
+            result = db.query("SELECT FROM_UNIXTIME(CEILING( Time/('" + x_axis_interval + "'*1000)) *'" + x_axis_interval + "', '%Y:%m:%d %h:%i') AS Time, SUM(CreatedInstanceCount) AS CreatedInstanceCount , SUM(InitializedInstanceCount) AS InitializedInstanceCount , SUM(ActiveInstanceCount) AS ActiveInstanceCount, SUM(TerminatedInstanceCount) AS TerminatedInstanceCount FROM " + tableName + " WHERE ApplicationId=? AND ClusterAlias=? AND Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) GROUP BY FROM_UNIXTIME( CEILING( Time/('" + x_axis_interval + "'*1000)) *'"+x_axis_interval+"', '%Y:%m:%d %h:%i')",applicationId, clusterId);
         }
         print(result);
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/jaggery-files/member-info.jag
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/jaggery-files/member-info.jag b/extensions/das/metering-service/capps/jaggery-files/member-info.jag
index 3325ca7..7eba04c 100644
--- a/extensions/das/metering-service/capps/jaggery-files/member-info.jag
+++ b/extensions/das/metering-service/capps/jaggery-files/member-info.jag
@@ -55,9 +55,9 @@
         var clusterId = request.getParameter("clusterId");
 
         if (clusterId == ALL_CLUSTERS) {
-            result = db.query("SELECT * FROM " + tableName + " WHERE MemberId IN (SELECT DISTINCT MemberId FROM ANALYTICS_PROCESSED_DATA_STORE.MEMBER_STATUS WHERE ApplicationId='" + applicationId + "')");
+            result = db.query("SELECT * FROM " + tableName + " WHERE MemberId IN (SELECT DISTINCT MemberId FROM ANALYTICS_PROCESSED_DATA_STORE.MEMBER_STATUS WHERE ApplicationId= ?)", applicationId);
         } else {
-            result = db.query("SELECT * FROM " + tableName + " WHERE MemberId IN (SELECT DISTINCT MemberId FROM ANALYTICS_PROCESSED_DATA_STORE.MEMBER_STATUS WHERE ApplicationId='" + applicationId + "' AND ClusterId='" + clusterId + "')");
+            result = db.query("SELECT * FROM " + tableName + " WHERE MemberId IN (SELECT DISTINCT MemberId FROM ANALYTICS_PROCESSED_DATA_STORE.MEMBER_STATUS WHERE ApplicationId= ? AND ClusterAlias= ?)", applicationId, clusterId);
         }
         print(result);
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/jaggery-files/member-status.jag
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/jaggery-files/member-status.jag b/extensions/das/metering-service/capps/jaggery-files/member-status.jag
index 0ac5e15..7650c1a 100644
--- a/extensions/das/metering-service/capps/jaggery-files/member-status.jag
+++ b/extensions/das/metering-service/capps/jaggery-files/member-status.jag
@@ -75,9 +75,9 @@
         var clusterId = request.getParameter("clusterId");
 
         if (clusterId == ALL_CLUSTERS) {
-            result = db.query("SELECT FROM_UNIXTIME(Time/1000, '%Y:%m:%d %h:%i:%s') AS Time, MemberId, MemberStatus FROM " + tableName + " WHERE ApplicationId='" + applicationId + "' AND Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) ORDER BY MemberID, Time");
+            result = db.query("SELECT FROM_UNIXTIME(Time/1000, '%Y:%m:%d %h:%i:%s') AS Time, MemberId, MemberStatus FROM " + tableName + " WHERE ApplicationId= ? AND Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) ORDER BY MemberID, Time", applicationId);
         }else {
-            result = db.query("SELECT FROM_UNIXTIME(Time/1000, '%Y:%m:%d %h:%i:%s') AS Time, MemberId, MemberStatus FROM " + tableName + " WHERE ApplicationId='" + applicationId + "' AND ClusterId='" + clusterId + "' AND Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) ORDER BY MemberID, Time");
+            result = db.query("SELECT FROM_UNIXTIME(Time/1000, '%Y:%m:%d %h:%i:%s') AS Time, MemberId, MemberStatus FROM " + tableName + " WHERE ApplicationId= ? AND ClusterAlias= ? AND Time > ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000-'" + interval + "' ) AND Time <= ROUND(UNIX_TIMESTAMP(CURTIME(4)) * 1000) ORDER BY MemberID, Time", applicationId, clusterId);
         }
         print(result);
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/jaggery-files/schema.jag
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/jaggery-files/schema.jag b/extensions/das/metering-service/capps/jaggery-files/schema.jag
index 29c0ca7..7dc33db 100644
--- a/extensions/das/metering-service/capps/jaggery-files/schema.jag
+++ b/extensions/das/metering-service/capps/jaggery-files/schema.jag
@@ -49,7 +49,7 @@
     var db = new Database("WSO2_ANALYTICS_PROCESSED_DATA_STORE_DB");
 
     try {
-        var result = db.query("SELECT COLUMN_NAME,DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='ANALYTICS_PROCESSED_DATA_STORE' AND TABLE_NAME = '" + tableName + "'");
+        var result = db.query("SELECT COLUMN_NAME,DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='ANALYTICS_PROCESSED_DATA_STORE' AND TABLE_NAME = ?", tableName);
         if (result != null) {
             print(result);
         }

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/mysqlscript.sql
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/mysqlscript.sql b/extensions/das/metering-service/capps/mysqlscript.sql
index 76d6409..f198060 100644
--- a/extensions/das/metering-service/capps/mysqlscript.sql
+++ b/extensions/das/metering-service/capps/mysqlscript.sql
@@ -1,4 +1,4 @@
-CREATE TABLE ANALYTICS_PROCESSED_DATA_STORE.MEMBER_STATUS(TenantId int, Time long, ApplicationId VARCHAR(150), ClusterId VARCHAR(150), MemberId VARCHAR(150), MemberStatus VARCHAR(50));
-CREATE TABLE ANALYTICS_PROCESSED_DATA_STORE.MEMBER_COUNT(Time long, ApplicationId VARCHAR(150), ClusterId VARCHAR(150), ClusterAlias VARCHAR(150), CreatedInstanceCount int, InitializedInstanceCount int, ActiveInstanceCount int, TerminatedInstanceCount int);
+CREATE TABLE ANALYTICS_PROCESSED_DATA_STORE.MEMBER_STATUS(Time long, ApplicationId VARCHAR(150), ClusterAlias VARCHAR(150), MemberId VARCHAR(150), MemberStatus VARCHAR(50));
+CREATE TABLE ANALYTICS_PROCESSED_DATA_STORE.MEMBER_COUNT(Time long, ApplicationId VARCHAR(150), ClusterAlias VARCHAR(150), CreatedInstanceCount int, InitializedInstanceCount int, ActiveInstanceCount int, TerminatedInstanceCount int);
 CREATE TABLE ANALYTICS_PROCESSED_DATA_STORE.SCALING_DETAILS(Time VARCHAR(50), ScalingDecisionId VARCHAR(150), ClusterId VARCHAR(150), MinInstanceCount INT, MaxInstanceCount INT, RIFPredicted INT, RIFThreshold INT ,RIFRequiredInstances INT, MCPredicted INT, MCThreshold INT, MCRequiredInstances INT ,LAPredicted INT, LAThreshold INT,LARequiredInstances INT,RequiredInstanceCount INT ,ActiveInstanceCount INT, AdditionalInstanceCount INT, ScalingReason VARCHAR(150));
 CREATE TABLE ANALYTICS_PROCESSED_DATA_STORE.MEMBER_INFORMATION(MemberId VARCHAR(150), InstanceType VARCHAR(150), ImageId VARCHAR(150), HostName VARCHAR(150), PrivateIPAddresses VARCHAR(150), PublicIPAddresses VARCHAR(150), Hypervisor VARCHAR(150), CPU VARCHAR(10) , RAM VARCHAR(10), OSName VARCHAR(150), OSVersion VARCHAR(150));

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Details_Filter/Member_Details_Filter/js/member-details-filter.js
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Details_Filter/Member_Details_Filter/js/member-details-filter.js b/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Details_Filter/Member_Details_Filter/js/member-details-filter.js
index 312988c..bbc4312 100644
--- a/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Details_Filter/Member_Details_Filter/js/member-details-filter.js
+++ b/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Details_Filter/Member_Details_Filter/js/member-details-filter.js
@@ -22,23 +22,51 @@ var applicationId;
 var clusterId;
 
 $(document).ready(function () {
-
     loadApplication();
 
-    $('body').on('change', '#application-filter', function () {
-        var e = document.getElementById("application-filter");
-        applicationId = e.options[e.selectedIndex].text;
-        loadCluster(applicationId);
-        publish();
-    })
-    $('body').on('change', '#cluster-filter', function () {
-        var e = document.getElementById("cluster-filter");
-        clusterId = e.options[e.selectedIndex].value;
-        publish();
-    })
+    setTimeout(function () {
+        if (applicationId != null) {
+            loadCluster(applicationId);
+            $('#' + window.frameElement.id).ready(function () {
+                $(this).contents().find('body').contents().find('#application-filter').val(applicationId);
+                publish();
+            });
+        }
+    }, 2000);
+
+    setTimeout(function () {
+        if (clusterId != null) {
+            $('#' + window.frameElement.id).ready(function () {
+                $(this).contents().find('body').contents().find('#cluster-filter').val(clusterId);
+                publish();
+            });
+        }
+    }, 3000);
 
 });
 
+gadgets.HubSettings.onConnect = function () {
+    gadgets.Hub.subscribe("request-params", function (topic, data) {
+        applicationId = data.applicationId;
+        clusterId = data.clusterId;
+        console.log("Application Id: " + applicationId);
+        console.log("Cluster Id: " + clusterId);
+    });
+};
+
+$('body').on('change', '#application-filter', function () {
+    var e = document.getElementById("application-filter");
+    applicationId = e.options[e.selectedIndex].value;
+    loadCluster(applicationId);
+    publish();
+});
+
+$('body').on('change', '#cluster-filter', function () {
+    var e = document.getElementById("cluster-filter");
+    clusterId = e.options[e.selectedIndex].value;
+    publish();
+});
+
 function loadApplication() {
     console.log("Getting Application Ids");
     $.ajax({
@@ -71,11 +99,9 @@ function loadCluster(application) {
         dataType: 'json',
         success: function (result) {
             var elem = document.getElementById('cluster-filter');
-            var clusterIds = [];
             var clusterAlias = [];
             var records = JSON.parse(JSON.stringify(result));
             records.forEach(function (record) {
-                clusterIds.push(record.ClusterId);
                 clusterAlias.push(record.ClusterAlias);
             });
 
@@ -88,24 +114,23 @@ function loadCluster(application) {
 
             var optionList = "";
 
-            optionList+= "<option value= 'All Clusters'>All Clusters</option>";
-            for (i = 0; i < clusterIds.length; i = i + 1) {
-                optionList += "<option value='" + clusterIds[i] + "'>" + clusterAlias[i] + "</option>";
+            optionList += "<option value= 'All Clusters'>All Clusters</option>";
+            for (i = 0; i < clusterAlias.length; i = i + 1) {
+                optionList += "<option value='" + clusterAlias[i] + "'>" + clusterAlias[i] + "</option>";
             }
 
             clusterList.innerHTML = optionList;
             document.getElementById('cluster').appendChild(clusterList);
         }
     });
-    var e = document.getElementById("cluster-filter");
-    clusterId = e.options[e.selectedIndex].value;
+    if (clusterId == null) {
+        var e = document.getElementById("cluster-filter");
+        clusterId = e.options[e.selectedIndex].value
+    }
 }
 
 function publish() {
-    var application = applicationId;
-    var cluster = clusterId;
-    var data = {applicationId: application, clusterId: cluster};
-
+    var data = {applicationId: applicationId, clusterId: clusterId};
     gadgets.Hub.publish("member-details-filter", data);
     console.log("Publishing filter values: " + JSON.stringify(data));
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Status_Filter/Member_Status_Filter/js/member-status-filter.js
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Status_Filter/Member_Status_Filter/js/member-status-filter.js b/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Status_Filter/Member_Status_Filter/js/member-status-filter.js
index f4678f7..da08330 100644
--- a/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Status_Filter/Member_Status_Filter/js/member-status-filter.js
+++ b/extensions/das/metering-service/capps/stratos-metering-service/Gadget_Member_Status_Filter/Member_Status_Filter/js/member-status-filter.js
@@ -18,53 +18,56 @@
  * under the License.
  *
  */
+
 var applicationId;
 var clusterId;
 var time = '30 Min';
-var vars;
 $(document).ready(function () {
-    var query = parent.window.location.search.substring(1);
-    vars = query.split("&");
-
-    applicationId = getRequestParam('applicationId');
-    clusterId = getRequestParam('clusterId');
+    loadApplication();
 
-    console.log("Application Id: " + applicationId);
-    console.log("Cluster Id: " + clusterId);
+    setTimeout(function () {
+        if (applicationId != null) {
+            loadCluster(applicationId);
+            $('#' + window.frameElement.id).ready(function () {
+                $(this).contents().find('body').contents().find('#application-filter').val(applicationId);
+                publish(time);
+            });
+        }
+    }, 2000);
 
-    loadApplication();
-    if (applicationId != null) {
-        document.getElementById("application-filter").value = applicationId;
-        loadCluster(applicationId);
-        gadgets.HubSettings.onConnect = function () {
-            publish(time);
+    setTimeout(function () {
+        if (clusterId != null) {
+            $('#' + window.frameElement.id).ready(function () {
+                $(this).contents().find('body').contents().find('#cluster-filter').val(clusterId);
+                publish(time);
+            });
         }
-    }
+    }, 3000);
 
-    $('body').on('change', '#application-filter', function () {
-        var e = document.getElementById("application-filter");
-        applicationId = e.options[e.selectedIndex].value;
-        loadCluster(applicationId);
-        publish(time);
-    })
-    $('body').on('change', '#cluster-filter', function () {
-        var e = document.getElementById("cluster-filter");
-        clusterId = e.options[e.selectedIndex].value;
-        publish(time);
-    })
 
+});
 
+gadgets.HubSettings.onConnect = function () {
+    gadgets.Hub.subscribe("request-params", function (topic, data) {
+        applicationId = data.applicationId;
+        clusterId = data.clusterId;
+        console.log("Application Id: " + applicationId);
+        console.log("Cluster Id: " + clusterId);
+    });
+};
+
+$('body').on('change', '#application-filter', function () {
+    var e = document.getElementById("application-filter");
+    applicationId = e.options[e.selectedIndex].value;
+    loadCluster(applicationId);
+    publish(time);
 });
 
-function getRequestParam(variable) {
-    for (var i = 0; i < vars.length; i++) {
-        var pair = vars[i].split("=");
-        if (pair[0] == variable) {
-            return pair[1];
-        }
-    }
-    return null;
-}
+$('body').on('change', '#cluster-filter', function () {
+    var e = document.getElementById("cluster-filter");
+    clusterId = e.options[e.selectedIndex].value;
+    publish(time);
+});
 
 function loadApplication() {
     console.log("Getting Application Ids");
@@ -97,11 +100,9 @@ function loadCluster(application) {
         dataType: 'json',
         success: function (result) {
             var elem = document.getElementById('cluster-filter');
-            var clusterIds = [];
             var clusterAlias = [];
             var records = JSON.parse(JSON.stringify(result));
             records.forEach(function (record, i) {
-                clusterIds.push(record.ClusterId);
                 clusterAlias.push(record.ClusterAlias);
             });
 
@@ -115,27 +116,24 @@ function loadCluster(application) {
             var optionList = "";
 
             optionList += "<option value= 'All Clusters'>All Clusters</option>";
-            for (i = 0; i < clusterIds.length; i = i + 1) {
-                optionList += "<option value='" + clusterIds[i] + "'>" + clusterAlias[i] + "</option>";
+            for (i = 0; i < clusterAlias.length; i = i + 1) {
+                optionList += "<option value='" + clusterAlias[i] + "'>" + clusterAlias[i] + "</option>";
             }
 
             clusterList.innerHTML = optionList;
             document.getElementById('cluster').appendChild(clusterList);
         }
     });
-    if (clusterId != null) {
-        document.getElementById("cluster-filter").value = clusterId;
-    } else {
+    if (clusterId == null) {
         var e = document.getElementById("cluster-filter");
         clusterId = e.options[e.selectedIndex].value;
     }
+
 }
 
-function publish(time) {
-    var application = applicationId;
-    var cluster = clusterId;
-    var time = time;
-    var data = {applicationId: application, clusterId: cluster, timeInterval: time};
+function publish(timeInterval) {
+    time = timeInterval;
+    var data = {applicationId: applicationId, clusterId: clusterId, timeInterval: time};
     gadgets.Hub.publish("member-status-filter", data);
     console.log("Publishing filter values: " + JSON.stringify(data));
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/de80e44c/extensions/das/metering-service/capps/stratos-metering-service/SparkScript_MemberLifecycle/member_count.xml
----------------------------------------------------------------------
diff --git a/extensions/das/metering-service/capps/stratos-metering-service/SparkScript_MemberLifecycle/member_count.xml b/extensions/das/metering-service/capps/stratos-metering-service/SparkScript_MemberLifecycle/member_count.xml
index 8a25d6f..efebc24 100644
--- a/extensions/das/metering-service/capps/stratos-metering-service/SparkScript_MemberLifecycle/member_count.xml
+++ b/extensions/das/metering-service/capps/stratos-metering-service/SparkScript_MemberLifecycle/member_count.xml
@@ -30,7 +30,7 @@
         using CarbonJDBC options (dataSource "WSO2_ANALYTICS_PROCESSED_DATA_STORE_DB", tableName "MEMBER_COUNT");
 
         ;WITH MemberCount as
-        (select application_id, cluster_id, cluster_alias,
+        (select application_id, cluster_alias,
         count(case when member_status='Created' and timestamp &gt; current_time(null)-10000 and
         timestamp&lt;= current_time(null) then 1 else NULL end) as created_instance_count,
         count(case when member_status='Initialized' and timestamp &gt; current_time(null)-10000 and
@@ -39,16 +39,16 @@
         timestamp&lt;= current_time(null) then 1 else NULL end) as active_instance_count,
         count(case when member_status='Terminated' and timestamp &gt; current_time(null)-10000 and
         timestamp&lt;= current_time(null) then 1 else NULL end) as terminated_instance_count
-        from memberstatus group by application_id, cluster_id, cluster_alias)
+        from memberstatus group by application_id, cluster_alias)
         INSERT INTO table member_count
-        select current_time(null), application_id, cluster_id, cluster_alias,
+        select current_time(null), application_id, cluster_alias,
         created_instance_count,initialized_instance_count,active_instance_count,
         terminated_instance_count from MemberCount;
 
         create temporary table member_status_new
         using CarbonJDBC options (dataSource "WSO2_ANALYTICS_PROCESSED_DATA_STORE_DB", tableName "MEMBER_STATUS");
 
-        INSERT OVERWRITE TABLE member_status_new select timestamp, application_id, cluster_id, member_id,
+        INSERT OVERWRITE TABLE member_status_new select timestamp, application_id, cluster_alias, member_id,
         member_status from memberstatus;
     </Script>
     <CronExpression>0/10 * * * * ?</CronExpression>