You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ds...@apache.org on 2015/05/27 11:49:29 UTC

ambari git commit: AMBARI-11414 Dashboard: widget for "Disk Usage" should instead show disk read/write throughput (dsen)

Repository: ambari
Updated Branches:
  refs/heads/trunk efe312923 -> d363c3d3b


AMBARI-11414 Dashboard: widget for "Disk Usage" should instead show disk read/write throughput (dsen)


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

Branch: refs/heads/trunk
Commit: d363c3d3bd22b3db2708aefbb7bbfdf4ec9921e3
Parents: efe3129
Author: Dmytro Sen <ds...@apache.org>
Authored: Wed May 27 12:32:44 2015 +0300
Committer: Dmytro Sen <ds...@apache.org>
Committed: Wed May 27 12:32:44 2015 +0300

----------------------------------------------------------------------
 .../src/main/python/core/host_info.py           | 19 ++++++++++++++++-
 .../HBASE/0.96.0.2.0/metrics.json               | 22 ++++++++++++++++++++
 .../HBASE/0.96.0.2.0/widgets.json               | 19 ++++++++++-------
 .../stacks/HDP/2.3/services/HBASE/widgets.json  | 21 ++++++++++++-------
 4 files changed, 65 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/d363c3d3/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/host_info.py
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/host_info.py b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/host_info.py
index 41f6a0a..826cd40 100644
--- a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/host_info.py
+++ b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/host_info.py
@@ -43,6 +43,8 @@ class HostInfo():
     self.__last_network_io_time = 0
     self.__last_network_data = {}
     self.__last_network_lock = threading.Lock()
+    self.__last_disk_io_time = 0
+    self.__last_disk_data = {}
     self.__host_static_info = self.get_host_static_info()
     self.__config = config
 
@@ -256,9 +258,16 @@ class HostInfo():
     # read_time: time spent reading from disk (in milliseconds)
     # write_time: time spent writing to disk (in milliseconds)
 
+    current_time = time.time()
+    delta = current_time - self.__last_disk_io_time
+    self.__last_disk_io_time = current_time
+
+    if delta <= 0:
+      delta = float("inf")
+
     io_counters = psutil.disk_io_counters()
 
-    return {
+    new_disk_stats = {
       'read_count' : io_counters.read_count if hasattr(io_counters, 'read_count') else 0,
       'write_count' : io_counters.write_count if hasattr(io_counters, 'write_count') else 0,
       'read_bytes' : io_counters.read_bytes if hasattr(io_counters, 'read_bytes') else 0,
@@ -266,6 +275,14 @@ class HostInfo():
       'read_time' : io_counters.read_time if hasattr(io_counters, 'read_time') else 0,
       'write_time' : io_counters.write_time if hasattr(io_counters, 'write_time') else 0
     }
+    if not self.__last_disk_data:
+      self.__last_disk_data = new_disk_stats
+    read_bps = (new_disk_stats['read_bytes'] - self.__last_disk_data['read_bytes']) / delta
+    write_bps = (new_disk_stats['write_bytes'] - self.__last_disk_data['write_bytes']) / delta
+    self.__last_disk_data = new_disk_stats
+    new_disk_stats['read_bps'] = read_bps
+    new_disk_stats['write_bps'] = write_bps
+    return new_disk_stats
 
   def get_hostname(self):
     global cached_hostname

http://git-wip-us.apache.org/repos/asf/ambari/blob/d363c3d3/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/metrics.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/metrics.json b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/metrics.json
index efaca33..a309ec7 100644
--- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/metrics.json
+++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/metrics.json
@@ -40,6 +40,16 @@
               "pointInTime":true,
               "temporal":true
             },
+            "metrics/disk/read_bps":{
+              "metric":"read_bps",
+              "pointInTime":true,
+              "temporal":true
+            },
+            "metrics/disk/write_bps":{
+              "metric":"write_bps",
+              "pointInTime":true,
+              "temporal":true
+            },
             "metrics/load/load_fifteen":{
               "metric":"load_fifteen",
               "pointInTime":true,
@@ -1688,6 +1698,18 @@
               "temporal":true,
               "amsHostMetric":true
             },
+            "metrics/disk/read_bps":{
+              "metric":"read_bps",
+              "pointInTime":true,
+              "temporal":true,
+              "amsHostMetric":true
+            },
+            "metrics/disk/write_bps":{
+              "metric":"write_bps",
+              "pointInTime":true,
+              "temporal":true,
+              "amsHostMetric":true
+            },
             "metrics/load/load_fifteen":{
               "metric":"load_fifteen",
               "pointInTime":true,

http://git-wip-us.apache.org/repos/asf/ambari/blob/d363c3d3/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/widgets.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/widgets.json b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/widgets.json
index 3220811..3da4fbf 100644
--- a/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/widgets.json
+++ b/ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/widgets.json
@@ -341,31 +341,36 @@
         },
         {
           "widget_name": "Cluster Disk",
-          "description": "RegionServer widget for Disk utilization",
+          "description": "RegionServer widget for Disk throughput",
           "default_section_name": "HBASE_SUMMARY",
           "widget_type": "GRAPH",
           "is_visible": true,
           "metrics": [
             {
-              "name": "disk_free._sum",
-              "metric_path": "metrics/disk/disk_free._sum",
+              "name": "read_bps._sum",
+              "metric_path": "metrics/disk/read_bps._sum",
               "service_name": "HBASE",
               "component_name": "HBASE_REGIONSERVER"
             },
             {
-              "name": "disk_total._sum",
-              "metric_path": "metrics/disk/disk_total._sum",
+              "name": "write_bps._sum",
+              "metric_path": "metrics/disk/write_bps._sum",
               "service_name": "HBASE",
               "component_name": "HBASE_REGIONSERVER"
             }
           ],
           "values": [
             {
-              "name": "Disk Utlization",
-              "value": "${(disk_total._sum - disk_free._sum)/disk_total._sum}"
+              "name": "Read throughput",
+              "value": "${read_bps._sum/1048576}"
+            },
+            {
+              "name": "Write throughput",
+              "value": "${write_bps._sum/1048576}"
             }
           ],
           "properties": {
+            "display_unit": "Mbps",
             "graph_type": "LINE",
             "time_range": "1"
           }

http://git-wip-us.apache.org/repos/asf/ambari/blob/d363c3d3/ambari-server/src/main/resources/stacks/HDP/2.3/services/HBASE/widgets.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.3/services/HBASE/widgets.json b/ambari-server/src/main/resources/stacks/HDP/2.3/services/HBASE/widgets.json
index 2fdd30c..9e623f9 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.3/services/HBASE/widgets.json
+++ b/ambari-server/src/main/resources/stacks/HDP/2.3/services/HBASE/widgets.json
@@ -348,30 +348,35 @@
         },
         {
           "widget_name": "Cluster Disk",
-          "description": "RegionServer widget for Disk utilization",
+          "description": "RegionServer widget for Disk throughput",
           "widget_type": "GRAPH",
           "is_visible": true,
           "metrics": [
             {
-              "name": "disk_free._sum",
-              "metric_path": "metrics/disk/disk_free._sum",
+              "name": "read_bps._sum",
+              "metric_path": "metrics/disk/read_bps._sum",
               "service_name": "HBASE",
               "component_name": "HBASE_REGIONSERVER"
             },
             {
-              "name": "disk_total._sum",
-              "metric_path": "metrics/disk/disk_total._sum",
+              "name": "write_bps._sum",
+              "metric_path": "metrics/disk/write_bps._sum",
               "service_name": "HBASE",
               "component_name": "HBASE_REGIONSERVER"
             }
           ],
           "values": [
             {
-              "name": "Disk Utlization",
-              "value": "${(disk_total._sum - disk_free._sum)/disk_total._sum}"
+              "name": "Read throughput",
+              "value": "${read_bps._sum/1048576}"
+            },
+            {
+              "name": "Write throughput",
+              "value": "${write_bps._sum/1048576}"
             }
           ],
           "properties": {
+            "display_unit": "Mbps",
             "graph_type": "LINE",
             "time_range": "1"
           }
@@ -503,4 +508,4 @@
       ]
     }
   ]
-}
\ No newline at end of file
+}