Browse Source

AMBARI-10746. Integrate service summary page and heatmap page with the active layout API. (jaimin)

Jaimin Jetly 10 years ago
parent
commit
36ab07ca6f
22 changed files with 1479 additions and 164 deletions
  1. 94 40
      ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/widgets.json
  2. 18 18
      ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/widgets.json
  3. 15 15
      ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/widgets.json
  4. 102 46
      ambari-server/src/main/resources/stacks/HDP/2.3/services/HBASE/widgets.json
  5. 35 0
      ambari-web/app/assets/data/widget_layouts/HBASE_HEATMAPS.json
  6. 71 0
      ambari-web/app/assets/data/widget_layouts/HBASE_HEATMAPS_WIDGETS.json
  7. 164 0
      ambari-web/app/assets/data/widget_layouts/HBASE_SUMMARY.json
  8. 36 0
      ambari-web/app/assets/data/widget_layouts/HDFS_HEATMAPS.json
  9. 97 0
      ambari-web/app/assets/data/widget_layouts/HDFS_HEATMAPS_WIDGETS.json
  10. 147 0
      ambari-web/app/assets/data/widget_layouts/HDFS_SUMMARY.json
  11. 35 0
      ambari-web/app/assets/data/widget_layouts/SYSTEM_HEATMAPS.json
  12. 279 0
      ambari-web/app/assets/data/widget_layouts/SYSTEM_HEATMAPS_WIDGETS.json
  13. 35 0
      ambari-web/app/assets/data/widget_layouts/YARN_HEATMAPS.json
  14. 84 0
      ambari-web/app/assets/data/widget_layouts/YARN_HEATMAPS_WIDGETS.json
  15. 84 0
      ambari-web/app/assets/data/widget_layouts/YARN_SUMMARY.json
  16. 4 17
      ambari-web/app/controllers/main/charts/heatmap.js
  17. 1 8
      ambari-web/app/controllers/main/service/info/summary.js
  18. 130 11
      ambari-web/app/mixins/common/widgets/widget_section.js
  19. 41 2
      ambari-web/app/utils/ajax/ajax.js
  20. 1 1
      ambari-web/app/views/common/widget/graph_widget_view.js
  21. 1 1
      ambari-web/app/views/main/service/info/summary.js
  22. 5 5
      ambari-web/test/controllers/main/service/info/summary_test.js

+ 94 - 40
ambari-server/src/main/resources/common-services/HBASE/0.96.0.2.0/widgets.json

@@ -6,8 +6,8 @@
       "section_name": "HBASE_SUMMARY",
       "section_name": "HBASE_SUMMARY",
       "widgetLayoutInfo": [
       "widgetLayoutInfo": [
         {
         {
-          "widget_name": "RS_READS_WRITES",
-          "display_name": "RegionServer Reads and Writes",
+          "widget_name": "Reads and Writes",
+          "display_name": "Reads and Writes",
           "description": "This widget shows all the read requests and write requests on all regions for a RegionServer",
           "description": "This widget shows all the read requests and write requests on all regions for a RegionServer",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
@@ -62,14 +62,14 @@
           "properties": {
           "properties": {
             "display_unit": "Requests",
             "display_unit": "Requests",
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "READ_LATENCY_95",
-          "display_name": "95% Read Latency",
-          "description": "This widget shows 95th percentile of the read latency.",
-          "widget_type": "NUMBER",
+          "widget_name": "Read Latency",
+          "display_name": "Read Latency",
+          "description": "Widget shows 95% Read Latency",
+          "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
           "metrics": [
           "metrics": [
             {
             {
@@ -81,19 +81,29 @@
           ],
           ],
           "values": [
           "values": [
             {
             {
-              "name": "95% Read Latency",
+              "name": "Cluster wide minimum of 95% Read Latency",
+              "value": "${regionserver.Server.Get_95th_percentile}"
+            },
+            {
+              "name": "Weighted average of 95% read Latency",
+              "value": "${regionserver.Server.Get_95th_percentile}"
+            },
+            {
+              "name": "Cluster wide maximum of 95% read Latency",
               "value": "${regionserver.Server.Get_95th_percentile}"
               "value": "${regionserver.Server.Get_95th_percentile}"
             }
             }
           ],
           ],
           "properties": {
           "properties": {
-            "display_unit": ""
+            "display_unit": "ms",
+            "graph_type": "LINE",
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "WRITE_LATENCY_95",
-          "display_name": "95% Write Latency",
+          "widget_name": "Write Latency",
+          "display_name": "Write Latency",
           "description": "This widget shows 95th percentile of the write latency.",
           "description": "This widget shows 95th percentile of the write latency.",
-          "widget_type": "NUMBER",
+          "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
           "metrics": [
           "metrics": [
             {
             {
@@ -123,16 +133,26 @@
           ],
           ],
           "values": [
           "values": [
             {
             {
-              "name": "95% Write Latency",
+              "name": "Cluster wide minimum of 95% write Latency",
+              "value": "${regionserver.Server.Mutate_95th_percentile + regionserver.Server.Increment_95th_percentile + regionserver.Server.Append_95th_percentile + regionserver.Server.Delete_95th_percentile}"
+            },
+            {
+              "name": "Weighted average of 95% write Latency",
+              "value": "${regionserver.Server.Mutate_95th_percentile + regionserver.Server.Increment_95th_percentile + regionserver.Server.Append_95th_percentile + regionserver.Server.Delete_95th_percentile}"
+            },
+            {
+              "name": "Cluster wide maximum of 95% write Latency",
               "value": "${regionserver.Server.Mutate_95th_percentile + regionserver.Server.Increment_95th_percentile + regionserver.Server.Append_95th_percentile + regionserver.Server.Delete_95th_percentile}"
               "value": "${regionserver.Server.Mutate_95th_percentile + regionserver.Server.Increment_95th_percentile + regionserver.Server.Append_95th_percentile + regionserver.Server.Delete_95th_percentile}"
             }
             }
           ],
           ],
           "properties": {
           "properties": {
-            "display_unit": ""
+            "display_unit": "ms",
+            "graph_type": "LINE",
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "OPEN_CONNECTIONS",
+          "widget_name": "Open Connections",
           "display_name": "Open Connections",
           "display_name": "Open Connections",
           "description": "This widget shows number of current open connections",
           "description": "This widget shows number of current open connections",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
@@ -155,12 +175,12 @@
           "properties": {
           "properties": {
             "display_unit": "Connections",
             "display_unit": "Connections",
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "ACTIVE_HANDLER",
-          "display_name": "Active Handlers vs Calls in General Queue",
+          "widget_name": "Request Handlers",
+          "display_name": "Request Handlers",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
           "metrics": [
           "metrics": [
@@ -189,13 +209,13 @@
           ],
           ],
           "properties": {
           "properties": {
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "FILES_LOCAL",
+          "widget_name": "Files Local",
           "display_name": "Files Local",
           "display_name": "Files Local",
-          "description": "This widget shows percentage of files local.",
+          "description": "This widget shows weighted average for local files.",
           "widget_type": "NUMBER",
           "widget_type": "NUMBER",
           "is_visible": true,
           "is_visible": true,
           "metrics": [
           "metrics": [
@@ -217,8 +237,8 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "UPDATES_BLOCKED_TIME",
-          "display_name": "Updates Blocked Time",
+          "widget_name": "Blocked Updates",
+          "display_name": "Blocked Updates",
           "description": "Number of milliseconds updates have been blocked so the memstore can be flushed",
           "description": "Number of milliseconds updates have been blocked so the memstore can be flushed",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
@@ -239,13 +259,13 @@
           "properties": {
           "properties": {
             "display_unit": "ms",
             "display_unit": "ms",
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "RS_HOST_METRICS",
-          "display_name": "ReqionServer System Metrics",
-          "description": "ReqionServer widget for Host CPU, Network and Disk Utilization",
+          "widget_name": "Cluster CPU",
+          "display_name": "Cluster CPU",
+          "description": "ReqionServer widget for CPU utilization",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
           "metrics": [
           "metrics": [
@@ -254,13 +274,26 @@
               "metric_path": "metrics/cpu/cpu_idle",
               "metric_path": "metrics/cpu/cpu_idle",
               "service_name": "HBASE",
               "service_name": "HBASE",
               "component_name": "HBASE_REGIONSERVER"
               "component_name": "HBASE_REGIONSERVER"
-            },
+            }
+          ],
+          "values": [
             {
             {
-              "name": "disk_free",
-              "metric_path": "metrics/disk/disk_free",
-              "service_name": "HBASE",
-              "component_name": "HBASE_REGIONSERVER"
-            },
+              "name": "CPU Idle",
+              "value": "${cpu_idle}"
+            }
+          ],
+          "properties": {
+            "graph_type": "LINE",
+            "time_range": "1"
+          }
+        },
+        {
+          "widget_name": "Cluster Network",
+          "display_name": "Cluster Network",
+          "description": "ReqionServer widget for network utilization",
+          "widget_type": "GRAPH",
+          "is_visible": true,
+          "metrics": [
             {
             {
               "name": "pkts_in",
               "name": "pkts_in",
               "metric_path": "metrics/network/pkts_in",
               "metric_path": "metrics/network/pkts_in",
@@ -276,21 +309,42 @@
           ],
           ],
           "values": [
           "values": [
             {
             {
-              "name": "CPU Idle",
-              "value": "${cpu_idle}"
+              "name": "Packets In",
+              "value": "${pkts_in}"
             },
             },
             {
             {
-              "name": "Disk Free",
+              "name": "Packets Out",
               "value": "${disk_free}"
               "value": "${disk_free}"
-            },
+            }
+          ],
+          "properties": {
+            "graph_type": "LINE",
+            "time_range": "1"
+          }
+        },
+        {
+          "widget_name": "Cluster Disk",
+          "display_name": "Cluster Disk",
+          "description": "ReqionServer widget for disk utilization",
+          "widget_type": "GRAPH",
+          "is_visible": true,
+          "metrics": [
+            {
+              "name": "disk_free",
+              "metric_path": "metrics/disk/disk_free",
+              "service_name": "HBASE",
+              "component_name": "HBASE_REGIONSERVER"
+            }
+          ],
+          "values": [
             {
             {
-              "name": "Network Packets In/Out",
-              "value": "${pkts_in + pkts_out}"
+              "name": "Disk Free",
+              "value": "${disk_free}"
             }
             }
           ],
           ],
           "properties": {
           "properties": {
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         }
         }
       ]
       ]

+ 18 - 18
ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/widgets.json

@@ -6,7 +6,7 @@
       "section_name": "HDFS_SUMMARY",
       "section_name": "HDFS_SUMMARY",
       "widgetLayoutInfo": [
       "widgetLayoutInfo": [
         {
         {
-          "widget_name": "GC_STATISTICS",
+          "widget_name": "GC Statistics",
           "display_name": "GC Statistics",
           "display_name": "GC Statistics",
           "description": "This widget shows JVM Garbage collection statistics for Active NameNode",
           "description": "This widget shows JVM Garbage collection statistics for Active NameNode",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
@@ -51,11 +51,11 @@
           "properties": {
           "properties": {
             "display_unit": "Requests",
             "display_unit": "Requests",
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "NUM_OPEN_CONNECTIONS",
+          "widget_name": "Client connections",
           "display_name": "Client connections",
           "display_name": "Client connections",
           "description": "Number of open connections for Active NameNode.",
           "description": "Number of open connections for Active NameNode.",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
@@ -79,11 +79,11 @@
           "properties": {
           "properties": {
             "display_unit": "Connections",
             "display_unit": "Connections",
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "JVM_HEAP_STATISTICS",
+          "widget_name": "NameNode JVM Heap Statistics",
           "display_name": "NameNode JVM Heap Statistics",
           "display_name": "NameNode JVM Heap Statistics",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
@@ -115,11 +115,11 @@
           ],
           ],
           "properties": {
           "properties": {
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "NN_CPU_RAM_UTILIZATION",
+          "widget_name": "NameNode CPU and RAM Utilization",
           "display_name": "NameNode CPU and RAM Utilization",
           "display_name": "NameNode CPU and RAM Utilization",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
@@ -151,11 +151,11 @@
           ],
           ],
           "properties": {
           "properties": {
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "RPC_QUEUE_WAIT",
+          "widget_name": "RPC Queue Wait time",
           "display_name": "RPC Queue Wait time",
           "display_name": "RPC Queue Wait time",
           "widget_type": "NUMBER",
           "widget_type": "NUMBER",
           "is_visible": true,
           "is_visible": true,
@@ -203,7 +203,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "CORRUPTED_BLOCKS",
+          "widget_name": "Corrupted Blocks",
           "display_name": "Corrupted Blocks",
           "display_name": "Corrupted Blocks",
           "widget_type": "NUMBER",
           "widget_type": "NUMBER",
           "is_visible": true,
           "is_visible": true,
@@ -225,7 +225,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "UNDER_REPLICATED_BLOCKS",
+          "widget_name": "Under Replicated Blocks",
           "display_name": "Under Replicated Blocks",
           "display_name": "Under Replicated Blocks",
           "widget_type": "NUMBER",
           "widget_type": "NUMBER",
           "is_visible": true,
           "is_visible": true,
@@ -254,7 +254,7 @@
       "section_name": "HDFS_HEATMAPS",
       "section_name": "HDFS_HEATMAPS",
       "widgetLayoutInfo": [
       "widgetLayoutInfo": [
         {
         {
-          "widget_name": "HDFS_BYTES_READ",
+          "widget_name": "HDFS Bytes Read",
           "display_name": "HDFS Bytes Read",
           "display_name": "HDFS Bytes Read",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -279,7 +279,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "HDFS_BYTES_WRITE",
+          "widget_name": "HDFS Bytes Written",
           "display_name": "HDFS Bytes Written",
           "display_name": "HDFS Bytes Written",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -304,7 +304,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "DN_GC_TIME",
+          "widget_name": "DataNode Garbage Collection Time",
           "display_name": "DataNode Garbage Collection Time",
           "display_name": "DataNode Garbage Collection Time",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -329,7 +329,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "DN_JVM_HEAP_USED",
+          "widget_name": "DataNode JVM Heap Memory Used",
           "display_name": "DataNode JVM Heap Memory Used",
           "display_name": "DataNode JVM Heap Memory Used",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -354,7 +354,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "DN_JVM_HEAP_COMMITTED",
+          "widget_name": "DataNode JVM Heap Memory Committed",
           "display_name": "DataNode JVM Heap Memory Committed",
           "display_name": "DataNode JVM Heap Memory Committed",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -379,7 +379,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "DN_DISK_IO",
+          "widget_name": "DataNode Process Disk I/O Utilization",
           "display_name": "DataNode Process Disk I/O Utilization",
           "display_name": "DataNode Process Disk I/O Utilization",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -422,7 +422,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "DN_NETWORK_IO",
+          "widget_name": "DataNode Process Network I/O Utilization",
           "display_name": "DataNode Process Network I/O Utilization",
           "display_name": "DataNode Process Network I/O Utilization",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",

+ 15 - 15
ambari-server/src/main/resources/common-services/YARN/2.1.0.2.0/widgets.json

@@ -6,7 +6,7 @@
       "section_name": "YARN_SUMMARY",
       "section_name": "YARN_SUMMARY",
       "widgetLayoutInfo": [
       "widgetLayoutInfo": [
         {
         {
-          "widget_name": "NM_RAM_UTILIZATION",
+          "widget_name": "NodeManager RAM Utilization",
           "display_name": "NodeManager RAM Utilization",
           "display_name": "NodeManager RAM Utilization",
           "description": "",
           "description": "",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
@@ -38,11 +38,11 @@
           "properties": {
           "properties": {
             "display_unit": "",
             "display_unit": "",
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "NM_CPU_UTILIZATION",
+          "widget_name": "NodeManager CPU Utilization",
           "display_name": "NodeManager CPU Utilization",
           "display_name": "NodeManager CPU Utilization",
           "description": "",
           "description": "",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
@@ -74,11 +74,11 @@
           "properties": {
           "properties": {
             "display_unit": "",
             "display_unit": "",
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "NM_DISK_NETWORK_IO",
+          "widget_name": "NodeManager Disk and Network Utilization",
           "display_name": "NodeManager Disk and Network Utilization",
           "display_name": "NodeManager Disk and Network Utilization",
           "description": "",
           "description": "",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
@@ -122,11 +122,11 @@
           "properties": {
           "properties": {
             "display_unit": "",
             "display_unit": "",
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "NM_CONTAINER_FAILURES",
+          "widget_name": "NodeManager Container Failures",
           "display_name": "NodeManager Container Failures",
           "display_name": "NodeManager Container Failures",
           "description": "",
           "description": "",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
@@ -148,7 +148,7 @@
           "properties": {
           "properties": {
             "display_unit": "",
             "display_unit": "",
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         }
         }
       ]
       ]
@@ -159,8 +159,8 @@
       "section_name": "YARN_HEATMAPS",
       "section_name": "YARN_HEATMAPS",
       "widgetLayoutInfo": [
       "widgetLayoutInfo": [
         {
         {
-          "widget_name": "NM_GC_TIME",
-          "display_name": "NodeManager Garbage Collection Time",
+          "widget_name": "NodeManager GC Time",
+          "display_name": "NodeManager GC Time",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
           "is_visible": true,
           "is_visible": true,
@@ -184,7 +184,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "NM_JVM_Heap_Used",
+          "widget_name": "NodeManager JVM Heap Memory Used",
           "display_name": "NodeManager JVM Heap Memory Used",
           "display_name": "NodeManager JVM Heap Memory Used",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -209,7 +209,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "YARN_MEMORY_USED",
+          "widget_name": "NodeManager Memory used %",
           "display_name": "NodeManager Memory used %",
           "display_name": "NodeManager Memory used %",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -240,7 +240,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "ALLOCATED_CONTAINER",
+          "widget_name": "Allocated Containers",
           "display_name": "Allocated Containers",
           "display_name": "Allocated Containers",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -265,7 +265,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "NM_RAM_UTILIZED",
+          "widget_name": "NodeManager RAM Utilized",
           "display_name": "NodeManager RAM Utilized",
           "display_name": "NodeManager RAM Utilized",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -290,7 +290,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "NM_CPU_UTILIZED",
+          "widget_name": "NodeManager CPU Utilized",
           "display_name": "NodeManager CPU Utilized",
           "display_name": "NodeManager CPU Utilized",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",

+ 102 - 46
ambari-server/src/main/resources/stacks/HDP/2.3/services/HBASE/widgets.json

@@ -6,8 +6,8 @@
       "section_name": "HBASE_SUMMARY",
       "section_name": "HBASE_SUMMARY",
       "widgetLayoutInfo": [
       "widgetLayoutInfo": [
         {
         {
-          "widget_name": "RS_READS_WRITES",
-          "display_name": "RegionServer Reads and Writes",
+          "widget_name": "Reads and Writes",
+          "display_name": "Reads and Writes",
           "description": "This widget shows all the read requests and write requests on all regions for a RegionServer",
           "description": "This widget shows all the read requests and write requests on all regions for a RegionServer",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
@@ -62,14 +62,14 @@
           "properties": {
           "properties": {
             "display_unit": "Requests",
             "display_unit": "Requests",
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "READ_LATENCY_95",
-          "display_name": "95% Read Latency",
-          "description": "This widget shows 95th percentile of the read latency.",
-          "widget_type": "NUMBER",
+          "widget_name": "Read Latency",
+          "display_name": "Read Latency",
+          "description": "Widget shows 95% Read Latency",
+          "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
           "metrics": [
           "metrics": [
             {
             {
@@ -87,19 +87,29 @@
           ],
           ],
           "values": [
           "values": [
             {
             {
-              "name": "95% Read Latency",
+              "name": "Cluster wide minimum of 95% Read Latency",
+              "value": "${regionserver.Server.Get_95th_percentile + regionserver.Server.ScanNext_95th_percentile}"
+            },
+            {
+              "name": "Weighted average of 95% Read Latency",
+              "value": "${regionserver.Server.Get_95th_percentile + regionserver.Server.ScanNext_95th_percentile}"
+            },
+            {
+              "name": "Cluster wide maximum of 95% Read Latency",
               "value": "${regionserver.Server.Get_95th_percentile + regionserver.Server.ScanNext_95th_percentile}"
               "value": "${regionserver.Server.Get_95th_percentile + regionserver.Server.ScanNext_95th_percentile}"
             }
             }
           ],
           ],
           "properties": {
           "properties": {
-            "display_unit": ""
+            "display_unit": "ms",
+            "graph_type": "LINE",
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "WRITE_LATENCY_95",
-          "display_name": "95% Write Latency",
+          "widget_name": "Write Latency",
+          "display_name": "Write Latency",
           "description": "This widget shows 95th percentile of the write latency.",
           "description": "This widget shows 95th percentile of the write latency.",
-          "widget_type": "NUMBER",
+          "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
           "metrics": [
           "metrics": [
             {
             {
@@ -129,16 +139,26 @@
           ],
           ],
           "values": [
           "values": [
             {
             {
-              "name": "95% Write Latency",
+              "name": "Cluster wide minimum of 95% write Latency",
+              "value": "${regionserver.Server.Mutate_95th_percentile + regionserver.Server.Increment_95th_percentile + regionserver.Server.Append_95th_percentile + regionserver.Server.Delete_95th_percentile}"
+            },
+            {
+              "name": "Weighted average of 95% write Latency",
+              "value": "${regionserver.Server.Mutate_95th_percentile + regionserver.Server.Increment_95th_percentile + regionserver.Server.Append_95th_percentile + regionserver.Server.Delete_95th_percentile}"
+            },
+            {
+              "name": "Cluster wide maximum of 95% write Latency",
               "value": "${regionserver.Server.Mutate_95th_percentile + regionserver.Server.Increment_95th_percentile + regionserver.Server.Append_95th_percentile + regionserver.Server.Delete_95th_percentile}"
               "value": "${regionserver.Server.Mutate_95th_percentile + regionserver.Server.Increment_95th_percentile + regionserver.Server.Append_95th_percentile + regionserver.Server.Delete_95th_percentile}"
             }
             }
           ],
           ],
           "properties": {
           "properties": {
-            "display_unit": ""
+            "display_unit": "ms",
+            "graph_type": "LINE",
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "OPEN_CONNECTIONS",
+          "widget_name": "Open Connections",
           "display_name": "Open Connections",
           "display_name": "Open Connections",
           "description": "This widget shows number of current open connections",
           "description": "This widget shows number of current open connections",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
@@ -161,12 +181,12 @@
           "properties": {
           "properties": {
             "display_unit": "Connections",
             "display_unit": "Connections",
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "ACTIVE_HANDLER",
-          "display_name": "Active Handlers vs Calls in General Queue",
+          "widget_name": "Request Handlers",
+          "display_name": "Request Handlers",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
           "metrics": [
           "metrics": [
@@ -195,13 +215,13 @@
           ],
           ],
           "properties": {
           "properties": {
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "FILES_LOCAL",
+          "widget_name": "Files Local",
           "display_name": "Files Local",
           "display_name": "Files Local",
-          "description": "This widget shows percentage of files local.",
+          "description": "This widget shows weighted average for local files.",
           "widget_type": "NUMBER",
           "widget_type": "NUMBER",
           "is_visible": true,
           "is_visible": true,
           "metrics": [
           "metrics": [
@@ -219,12 +239,14 @@
             }
             }
           ],
           ],
           "properties": {
           "properties": {
-            "display_unit": "%"
+            "display_unit": "%",
+            "error_threshold":"25",
+            "warning_threshold": "75"
           }
           }
         },
         },
         {
         {
-          "widget_name": "UPDATES_BLOCKED_TIME",
-          "display_name": "Updates Blocked Time",
+          "widget_name": "Blocked Updates",
+          "display_name": "Blocked Updates",
           "description": "Number of milliseconds updates have been blocked so the memstore can be flushed",
           "description": "Number of milliseconds updates have been blocked so the memstore can be flushed",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
@@ -245,13 +267,13 @@
           "properties": {
           "properties": {
             "display_unit": "ms",
             "display_unit": "ms",
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         },
         },
         {
         {
-          "widget_name": "RS_HOST_METRICS",
-          "display_name": "ReqionServer System Metrics",
-          "description": "ReqionServer widget for Host CPU, Network and Disk Utilization",
+          "widget_name": "Cluster CPU",
+          "display_name": "Cluster CPU",
+          "description": "ReqionServer widget for CPU utilization",
           "widget_type": "GRAPH",
           "widget_type": "GRAPH",
           "is_visible": true,
           "is_visible": true,
           "metrics": [
           "metrics": [
@@ -260,13 +282,26 @@
               "metric_path": "metrics/cpu/cpu_idle",
               "metric_path": "metrics/cpu/cpu_idle",
               "service_name": "HBASE",
               "service_name": "HBASE",
               "component_name": "HBASE_REGIONSERVER"
               "component_name": "HBASE_REGIONSERVER"
-            },
+            }
+          ],
+          "values": [
             {
             {
-              "name": "disk_free",
-              "metric_path": "metrics/disk/disk_free",
-              "service_name": "HBASE",
-              "component_name": "HBASE_REGIONSERVER"
-            },
+              "name": "CPU Idle",
+              "value": "${cpu_idle}"
+            }
+          ],
+          "properties": {
+            "graph_type": "LINE",
+            "time_range": "1"
+          }
+        },
+        {
+          "widget_name": "Cluster Network",
+          "display_name": "Cluster Network",
+          "description": "ReqionServer widget for network utilization",
+          "widget_type": "GRAPH",
+          "is_visible": true,
+          "metrics": [
             {
             {
               "name": "pkts_in",
               "name": "pkts_in",
               "metric_path": "metrics/network/pkts_in",
               "metric_path": "metrics/network/pkts_in",
@@ -282,21 +317,42 @@
           ],
           ],
           "values": [
           "values": [
             {
             {
-              "name": "CPU Idle",
-              "value": "${cpu_idle}"
+              "name": "Packets In",
+              "value": "${pkts_in}"
             },
             },
             {
             {
-              "name": "Disk Free",
+              "name": "Packets Out",
               "value": "${disk_free}"
               "value": "${disk_free}"
-            },
+            }
+          ],
+          "properties": {
+            "graph_type": "LINE",
+            "time_range": "1"
+          }
+        },
+        {
+          "widget_name": "Cluster Disk",
+          "display_name": "Cluster Disk",
+          "description": "ReqionServer widget for disk utilization",
+          "widget_type": "GRAPH",
+          "is_visible": true,
+          "metrics": [
+            {
+              "name": "disk_free",
+              "metric_path": "metrics/disk/disk_free",
+              "service_name": "HBASE",
+              "component_name": "HBASE_REGIONSERVER"
+            }
+          ],
+          "values": [
             {
             {
-              "name": "Network Packets In/Out",
-              "value": "${pkts_in + pkts_out}"
+              "name": "Disk Free",
+              "value": "${disk_free}"
             }
             }
           ],
           ],
           "properties": {
           "properties": {
             "graph_type": "LINE",
             "graph_type": "LINE",
-            "time_range": "86400000"
+            "time_range": "1"
           }
           }
         }
         }
       ]
       ]
@@ -307,7 +363,7 @@
       "section_name": "HBASE_HEATMAPS",
       "section_name": "HBASE_HEATMAPS",
       "widgetLayoutInfo": [
       "widgetLayoutInfo": [
         {
         {
-          "widget_name": "HBASE_COMPACTION_QUEUE_SIZE",
+          "widget_name": "HBase Compaction Queue Size",
           "display_name": "HBase Compaction Queue Size",
           "display_name": "HBase Compaction Queue Size",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -332,7 +388,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "HBASE_MEMSTORE_SIZES",
+          "widget_name": "HBase Memstore Sizes",
           "display_name": "HBase Memstore Sizes",
           "display_name": "HBase Memstore Sizes",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -357,7 +413,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "HBASE_READ_REQUEST",
+          "widget_name": "HBase Read Request Count",
           "display_name": "HBase Read Request Count",
           "display_name": "HBase Read Request Count",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -381,7 +437,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "HBASE_WRITE_REQUEST",
+          "widget_name": "HBase Write Request Count",
           "display_name": "HBase Write Request Count",
           "display_name": "HBase Write Request Count",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",
@@ -405,7 +461,7 @@
           }
           }
         },
         },
         {
         {
-          "widget_name": "HBASE_REGIONS",
+          "widget_name": "HBase Regions",
           "display_name": "HBase Regions",
           "display_name": "HBase Regions",
           "description": "",
           "description": "",
           "widget_type": "HEATMAP",
           "widget_type": "HEATMAP",

+ 35 - 0
ambari-web/app/assets/data/widget_layouts/HBASE_HEATMAPS.json

@@ -0,0 +1,35 @@
+{
+  "href" : "http://c6401.ambari.apache.org:8080/api/v1/users/admin/activeWidgetLayouts?WidgetLayoutInfo/section_name=HBASE_HEATMAPS",
+  "items" : [
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widget_layouts/17",
+      "WidgetLayoutInfo" : {
+        "cluster_name" : "c1",
+        "display_name" : "HBase Heatmaps",
+        "id" : 17,
+        "layout_name" : "admin_hbase_heatmap",
+        "scope" : "USER",
+        "section_name" : "HBASE_HEATMAPS",
+        "user_name" : "admin",
+        "widgets" : [
+          {
+            "WidgetInfo" : {
+              "id" : 29,
+              "metrics" : "[{\"name\":\"Hadoop:service\\u003dHBase,name\\u003dRegionServer,sub\\u003dServer.compactionQueueLength\",\"metric_path\":\"metrics/hbase/regionserver/compactionQueueSize\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+              "author" : "ambari",
+              "description" : "",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"\",\"max_limit\":\"10\"}",
+              "widget_name" : "HBase Compaction Queue Size",
+              "widget_type" : "HEATMAP",
+              "time_created" : 1429906622306,
+              "display_name" : "HBase Compaction Queue Size",
+              "values" : "[{\"name\":\"HBase Compaction Queue Size\",\"value\":\"${Hadoop:service\\u003dHBase,name\\u003dRegionServer,sub\\u003dServer.compactionQueueLength} \"}]",
+              "cluster_name" : "c1"
+            }
+          }
+        ]
+      }
+    }
+  ]
+}

+ 71 - 0
ambari-web/app/assets/data/widget_layouts/HBASE_HEATMAPS_WIDGETS.json

@@ -0,0 +1,71 @@
+
+{
+  "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets?WidgetInfo/widget_type=HEATMAP&WidgetInfo/scope=CLUSTER&WidgetInfo/metrics.matches(.*\\\"service_name\\\":\\\"HBASE\\\".*)&fields=WidgetInfo/metrics",
+  "items" : [
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/29",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HBase Compaction Queue Size",
+        "id" : 29,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dHBase,name\\u003dRegionServer,sub\\u003dServer.compactionQueueLength\",\"metric_path\":\"metrics/hbase/regionserver/compactionQueueSize\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HBase Compaction Queue Size",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/30",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HBase Memstore Sizes",
+        "id" : 30,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dHBase,name\\u003dRegionServer,sub\\u003dServer.memStoreSize\",\"metric_path\":\"metrics/hbase/regionserver/memstoreSize\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HBase Memstore Sizes",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/31",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HBase Read Request Count",
+        "id" : 31,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dHBase,name\\u003dRegionServer,sub\\u003dServer.readRequestCount\",\"metric_path\":\"metrics/hbase/regionserver/readRequestsCount\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HBase Read Request Count",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/32",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HBase Write Request Count",
+        "id" : 32,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dHBase,name\\u003dRegionServer,sub\\u003dServer.writeRequestCount\",\"metric_path\":\"metrics/hbase/regionserver/writeRequestsCount\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HBase Write Request Count",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/33",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HBase Regions",
+        "id" : 33,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dHBase,name\\u003dRegionServer,sub\\u003dServer.regionCount\",\"metric_path\":\"metrics/hbase/regionserver/regions\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HBase Regions",
+        "widget_type" : "HEATMAP"
+      }
+    }
+  ]
+}

+ 164 - 0
ambari-web/app/assets/data/widget_layouts/HBASE_SUMMARY.json

@@ -0,0 +1,164 @@
+
+{
+  "href" : "http://c6401.ambari.apache.org:8080/api/v1/users/admin/activeWidgetLayouts?WidgetLayoutInfo/section_name=HBASE_SUMMARY",
+  "items" : [
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widget_layouts/9",
+      "WidgetLayoutInfo" : {
+        "cluster_name" : "c1",
+        "display_name" : "Standard HBase Dashboard",
+        "id" : 9,
+        "layout_name" : "admin_hbase_dashboard",
+        "scope" : "USER",
+        "section_name" : "HBASE_SUMMARY",
+        "user_name" : "admin",
+        "widgets" : [
+          {
+            "WidgetInfo" : {
+              "id" : 20,
+              "metrics" : "[{\"name\":\"regionserver.Server.Get_95th_percentile\",\"metric_path\":\"metrics/hbase/regionserver/Server/Get_95th_percentile\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"},{\"name\":\"regionserver.Server.ScanNext_95th_percentile\",\"metric_path\":\"metrics/hbase/regionserver/Server/ScanNext_95th_percentile\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+              "author" : "ambari",
+              "description" : "Widget shows 95% Read Latency",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"ms\",\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "Read Latency",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622306,
+              "display_name" : "Read Latency",
+              "values" : "[{\"name\":\"Cluster wide minimum of 95% Read Latency\",\"value\":\"${regionserver.Server.Get_95th_percentile + regionserver.Server.ScanNext_95th_percentile}\"},{\"name\":\"Weighted average of 95% Read Latency\",\"value\":\"${regionserver.Server.Get_95th_percentile + regionserver.Server.ScanNext_95th_percentile}\"},{\"name\":\"Cluster wide maximum of 95% Read Latency\",\"value\":\"${regionserver.Server.Get_95th_percentile + regionserver.Server.ScanNext_95th_percentile}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 21,
+              "metrics" : "[{\"name\":\"regionserver.Server.Mutate_95th_percentile\",\"metric_path\":\"metrics/hbase/regionserver/Server/Mutate_95th_percentile\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"},{\"name\":\"regionserver.Server.Increment_95th_percentile\",\"metric_path\":\"metrics/hbase/regionserver/Server/Increment_95th_percentile\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"},{\"name\":\"regionserver.Server.Append_95th_percentile\",\"metric_path\":\"metrics/hbase/regionserver/Server/Append_95th_percentile\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"},{\"name\":\"regionserver.Server.Delete_95th_percentile\",\"metric_path\":\"metrics/hbase/regionserver/Server/Delete_95th_percentile\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+              "author" : "ambari",
+              "description" : "This widget shows 95th percentile of the write latency.",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"ms\",\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "Write Latency",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622306,
+              "display_name" : "Write Latency",
+              "values" : "[{\"name\":\"Cluster wide minimum of 95% write Latency\",\"value\":\"${regionserver.Server.Mutate_95th_percentile + regionserver.Server.Increment_95th_percentile + regionserver.Server.Append_95th_percentile + regionserver.Server.Delete_95th_percentile}\"},{\"name\":\"Weighted average of 95% write Latency\",\"value\":\"${regionserver.Server.Mutate_95th_percentile + regionserver.Server.Increment_95th_percentile + regionserver.Server.Append_95th_percentile + regionserver.Server.Delete_95th_percentile}\"},{\"name\":\"Cluster wide maximum of 95% write Latency\",\"value\":\"${regionserver.Server.Mutate_95th_percentile + regionserver.Server.Increment_95th_percentile + regionserver.Server.Append_95th_percentile + regionserver.Server.Delete_95th_percentile}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 22,
+              "metrics" : "[{\"name\":\"regionserver.RegionServer.numOpenConnections\",\"metric_path\":\"metrics/hbase/ipc/IPC/numOpenConnections\",\"category\":\"\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+              "author" : "ambari",
+              "description" : "This widget shows number of current open connections",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"Connections\",\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "Open Connections",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622306,
+              "display_name" : "Open Connections",
+              "values" : "[{\"name\":\"Open Connections\",\"value\":\"${regionserver.RegionServer.numOpenConnections}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 23,
+              "metrics" : "[{\"name\":\"regionserver.RegionServer.numActiveHandler\",\"metric_path\":\"metrics/hbase/ipc/IPC/numActiveHandler\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"},{\"name\":\"regionserver.RegionServer.numCallsInGeneralQueue\",\"metric_path\":\"metrics/hbase/ipc/IPC/numCallsInGeneralQueue\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+              "author" : "ambari",
+              "description" : null,
+              "scope" : "CLUSTER",
+              "properties" : "{\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "Request Handlers",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622306,
+              "display_name" : "Request Handlers",
+              "values" : "[{\"name\":\"Active Handlers\",\"value\":\"${regionserver.RegionServer.numActiveHandler}\"},{\"name\":\"Calls in General Queue\",\"value\":\"${regionserver.RegionServer.numCallsInGeneralQueue}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 24,
+              "metrics" : "[{\"name\":\"regionserver.Server.percentFilesLocal\",\"metric_path\":\"metrics/hbase/regionserver/percentFilesLocal\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+              "author" : "ambari",
+              "description" : "This widget shows weighted average for local files.",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"%\",\"error_threshold\":\"25\",\"warning_threshold\":\"75\"}",
+              "widget_name" : "Files Local",
+              "widget_type" : "NUMBER",
+              "time_created" : 1429906622306,
+              "display_name" : "Files Local",
+              "values" : "[{\"name\":\"Files Local\",\"value\":\"${regionserver.Server.percentFilesLocal}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 26,
+              "metrics" : "[{\"name\":\"cpu_idle\",\"metric_path\":\"metrics/cpu/cpu_idle\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+              "author" : "ambari",
+              "description" : "ReqionServer widget for CPU utilization",
+              "scope" : "CLUSTER",
+              "properties" : "{\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "Cluster CPU",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622306,
+              "display_name" : "Cluster CPU",
+              "values" : "[{\"name\":\"CPU Idle\",\"value\":\"${cpu_idle}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 25,
+              "metrics" : "[{\"name\":\"regionserver.Server.updatesBlockedTime\",\"metric_path\":\"metrics/hbase/regionserver/Server/updatesBlockedTime\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+              "author" : "ambari",
+              "description" : "Number of milliseconds updates have been blocked so the memstore can be flushed",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"ms\",\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "Blocked Updates",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622306,
+              "display_name" : "Blocked Updates",
+              "values" : "[{\"name\":\"Updates Blocked Time\",\"value\":\"${regionserver.Server.updatesBlockedTime}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 27,
+              "metrics" : "[{\"name\":\"pkts_in\",\"metric_path\":\"metrics/network/pkts_in\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"},{\"name\":\"pkts_out\",\"metric_path\":\"metrics/network/pkts_out\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+              "author" : "ambari",
+              "description" : "ReqionServer widget for network utilization",
+              "scope" : "CLUSTER",
+              "properties" : "{\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "Cluster Network",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622306,
+              "display_name" : "Cluster Network",
+              "values" : "[{\"name\":\"Packets In\",\"value\":\"${pkts_in}\"},{\"name\":\"Packets Out\",\"value\":\"${disk_free}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 28,
+              "metrics" : "[{\"name\":\"disk_free\",\"metric_path\":\"metrics/disk/disk_free\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+              "author" : "ambari",
+              "description" : "ReqionServer widget for disk utilization",
+              "scope" : "CLUSTER",
+              "properties" : "{\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "Cluster Disk",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622306,
+              "display_name" : "Cluster Disk",
+              "values" : "[{\"name\":\"Disk Free\",\"value\":\"${disk_free}\"}]",
+              "cluster_name" : "c1"
+            }
+          }
+        ]
+      }
+    }
+  ]
+}

+ 36 - 0
ambari-web/app/assets/data/widget_layouts/HDFS_HEATMAPS.json

@@ -0,0 +1,36 @@
+
+{
+  "href" : "http://c6401.ambari.apache.org:8080/api/v1/users/admin/activeWidgetLayouts?WidgetLayoutInfo/section_name=HDFS_HEATMAPS",
+  "items" : [
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widget_layouts/16",
+      "WidgetLayoutInfo" : {
+        "cluster_name" : "c1",
+        "display_name" : "HDFS Heatmaps",
+        "id" : 16,
+        "layout_name" : "admin_hdfs_heatmap",
+        "scope" : "USER",
+        "section_name" : "HDFS_HEATMAPS",
+        "user_name" : "admin",
+        "widgets" : [
+          {
+            "WidgetInfo" : {
+              "id" : 12,
+              "metrics" : "[{\"name\":\"dfs.datanode.BytesRead\",\"metric_path\":\"metrics/dfs/datanode/bytes_read\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+              "author" : "ambari",
+              "description" : "",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"MB\",\"max_limit\":\"1024\"}",
+              "widget_name" : "HDFS Bytes Read",
+              "widget_type" : "HEATMAP",
+              "time_created" : 1429906622107,
+              "display_name" : "HDFS Bytes Read",
+              "values" : "[{\"name\":\"HDFS Bytes Read\",\"value\":\"${dfs.datanode.BytesRead}\"}]",
+              "cluster_name" : "c1"
+            }
+          }
+        ]
+      }
+    }
+  ]
+}

+ 97 - 0
ambari-web/app/assets/data/widget_layouts/HDFS_HEATMAPS_WIDGETS.json

@@ -0,0 +1,97 @@
+
+{
+  "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets?WidgetInfo/widget_type=HEATMAP&WidgetInfo/scope=CLUSTER&WidgetInfo/metrics.matches(.*\\\"service_name\\\":\\\"HDFS\\\".*)&fields=WidgetInfo/metrics",
+  "items" : [
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/12",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HDFS Bytes Read",
+        "id" : 12,
+        "metrics" : "[{\"name\":\"dfs.datanode.BytesRead\",\"metric_path\":\"metrics/dfs/datanode/bytes_read\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HDFS Bytes Read",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/13",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HDFS Bytes Written",
+        "id" : 13,
+        "metrics" : "[{\"name\":\"dfs.datanode.BytesWritten\",\"metric_path\":\"metrics/dfs/datanode/bytes_written\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HDFS Bytes Written",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/14",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "DataNode Garbage Collection Time",
+        "id" : 14,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dDataNode,name\\u003dJvmMetrics.GcTimeMillis\",\"metric_path\":\"metrics/jvm/gcTimeMillis\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "DataNode Garbage Collection Time",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/15",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "DataNode JVM Heap Memory Used",
+        "id" : 15,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dDataNode,name\\u003dJvmMetrics.MemHeapUsedM\",\"metric_path\":\"metrics/jvm/memHeapUsedM\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "DataNode JVM Heap Memory Used",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/16",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "DataNode JVM Heap Memory Committed",
+        "id" : 16,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dDataNode,name\\u003dJvmMetrics.MemHeapCommittedM\",\"metric_path\":\"metrics/jvm/memHeapCommittedM\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "DataNode JVM Heap Memory Committed",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/17",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "DataNode Process Disk I/O Utilization",
+        "id" : 17,
+        "metrics" : "[{\"name\":\"dfs.datanode.BytesRead\",\"metric_path\":\"metrics/dfs/datanode/bytes_read\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"},{\"name\":\"dfs.datanode.BytesWritten\",\"metric_path\":\"metrics/dfs/datanode/bytes_written\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"},{\"name\":\"dfs.datanode.TotalReadTime\",\"metric_path\":\"metrics/dfs/datanode/total_read_time\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"},{\"name\":\"dfs.datanode.TotalWriteTime\",\"metric_path\":\"metrics/dfs/datanode/total_write_time\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "DataNode Process Disk I/O Utilization",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/18",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "DataNode Process Network I/O Utilization",
+        "id" : 18,
+        "metrics" : "[{\"name\":\"dfs.datanode.RemoteBytesRead\",\"metric_path\":\"metrics/dfs/datanode/remote_bytes_read\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"},{\"name\":\"dfs.datanode.ReadsFromRemoteClient\",\"metric_path\":\"metrics/dfs/datanode/reads_from_remote_client\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"},{\"name\":\"dfs.datanode.RemoteBytesWritten\",\"metric_path\":\"metrics/dfs/datanode/remote_bytes_written\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"},{\"name\":\"dfs.datanode.WritesFromRemoteClient\",\"metric_path\":\"metrics/dfs/datanode/writes_from_remote_client\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "DataNode Process Network I/O Utilization",
+        "widget_type" : "HEATMAP"
+      }
+    }
+  ]
+}

+ 147 - 0
ambari-web/app/assets/data/widget_layouts/HDFS_SUMMARY.json

@@ -0,0 +1,147 @@
+{
+  "href" : "http://c6401.ambari.apache.org:8080/api/v1/users/admin/activeWidgetLayouts?WidgetLayoutInfo/section_name=HDFS_SUMMARY",
+  "items" : [
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widget_layouts/8",
+      "WidgetLayoutInfo" : {
+        "cluster_name" : "c1",
+        "display_name" : "Standard HDFS Dashboard",
+        "id" : 8,
+        "layout_name" : "admin_hdfs_dashboard",
+        "scope" : "USER",
+        "section_name" : "HDFS_SUMMARY",
+        "user_name" : "admin",
+        "widgets" : [
+          {
+            "WidgetInfo" : {
+              "id" : 4,
+              "metrics" : "[{\"name\":\"jvm.JvmMetrics.GcCount\",\"metric_path\":\"metrics/jvm/gcCount\",\"service_name\":\"HDFS\",\"component_name\":\"NAMENODE\",\"host_component_criteria\":\"host_components/metrics/dfs/FSNamesystem/HAState\\u003dactive\"},{\"name\":\"jvm.JvmMetrics.GcTimeMillisConcurrentMarkSweep\",\"metric_path\":\"metrics/jvm/GcTimeMillisConcurrentMarkSweep\",\"service_name\":\"HDFS\",\"component_name\":\"NAMENODE\",\"host_component_criteria\":\"host_components/metrics/dfs/FSNamesystem/HAState\\u003dactive\"},{\"name\":\"jvm.JvmMetrics.GcCountConcurrentMarkSweep\",\"metric_path\":\"metrics/jvm/GcCountConcurrentMarkSweep\",\"service_name\":\"HDFS\",\"component_name\":\"NAMENODE\",\"host_component_criteria\":\"host_components/metrics/dfs/FSNamesystem/HAState\\u003dactive\"}]",
+              "author" : "ambari",
+              "description" : "This widget shows JVM Garbage collection statistics for Active NameNode",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"Requests\",\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "GC Statistics",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622107,
+              "display_name" : "GC Statistics",
+              "values" : "[{\"name\":\"GC total count\",\"value\":\"${jvm.JvmMetrics.GcCount}\"},{\"name\":\"GC time in major collection\",\"value\":\"${jvm.JvmMetrics.GcTimeMillisConcurrentMarkSweep}\"},{\"name\":\"GC count of type major collection\",\"value\":\"${jvm.JvmMetrics.GcCountConcurrentMarkSweep}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 5,
+              "metrics" : "[{\"name\":\"rpc.rpc.NumOpenConnections\",\"metric_path\":\"metrics/rpc/NumOpenConnections\",\"category\":\"\",\"service_name\":\"HDFS\",\"component_name\":\"NAMENODE\",\"host_component_criteria\":\"host_components/metrics/dfs/FSNamesystem/HAState\\u003dactive\"}]",
+              "author" : "ambari",
+              "description" : "Number of open connections for Active NameNode.",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"Connections\",\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "Client connections",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622107,
+              "display_name" : "Client connections",
+              "values" : "[{\"name\":\"Client connections\",\"value\":\"${rpc.rpc.NumOpenConnections}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 6,
+              "metrics" : "[{\"name\":\"jvm.JvmMetrics.MemHeapCommittedM\",\"metric_path\":\"metrics/jvm/memHeapCommittedM\",\"service_name\":\"HDFS\",\"component_name\":\"NAMENODE\",\"host_component_criteria\":\"host_components/metrics/dfs/FSNamesystem/HAState\\u003dactive\"},{\"name\":\"jvm.JvmMetrics.MemHeapUsedM\",\"metric_path\":\"metrics/jvm/memHeapUsedM\",\"service_name\":\"HDFS\",\"component_name\":\"NAMENODE\",\"host_component_criteria\":\"host_components/metrics/dfs/FSNamesystem/HAState\\u003dactive\"}]",
+              "author" : "ambari",
+              "description" : null,
+              "scope" : "CLUSTER",
+              "properties" : "{\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "NameNode JVM Heap Statistics",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622107,
+              "display_name" : "NameNode JVM Heap Statistics",
+              "values" : "[{\"name\":\"JVM heap committed\",\"value\":\"${jvm.JvmMetrics.MemHeapCommittedM}\"},{\"name\":\"JVM heap used\",\"value\":\"${jvm.JvmMetrics.MemHeapUsedM}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 7,
+              "metrics" : "[{\"name\":\"cpu_idle\",\"metric_path\":\"metrics/cpu/cpu_idle\",\"service_name\":\"HDFS\",\"component_name\":\"NAMENODE\",\"host_component_criteria\":\"host_components/metrics/dfs/FSNamesystem/HAState\\u003dactive\"},{\"name\":\"proc_total\",\"metric_path\":\"metrics/process/proc_total\",\"service_name\":\"HDFS\",\"component_name\":\"NAMENODE\",\"host_component_criteria\":\"host_components/metrics/dfs/FSNamesystem/HAState\\u003dactive\"}]",
+              "author" : "ambari",
+              "description" : null,
+              "scope" : "CLUSTER",
+              "properties" : "{\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "NameNode CPU and RAM Utilization",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622107,
+              "display_name" : "NameNode CPU and RAM Utilization",
+              "values" : "[{\"name\":\"CPU Idle on NameNode host\",\"value\":\"${cpu_idle}\"},{\"name\":\"Total Processes on NameNode host\",\"value\":\"${proc_total}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 8,
+              "metrics" : "[{\"name\":\"Hadoop:service\\u003dNameNode,name\\u003dRpcActivity.RpcQueueTimeAvgTime\",\"metric_path\":\"metrics/rpc/RpcQueueTime_avg_time\",\"service_name\":\"HDFS\",\"component_name\":\"NAMENODE\",\"host_component_criteria\":\"host_components/metrics/dfs/FSNamesystem/HAState\\u003dactive\"}]",
+              "author" : "ambari",
+              "description" : null,
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"ms\"}",
+              "widget_name" : "RPC Queue Wait time",
+              "widget_type" : "NUMBER",
+              "time_created" : 1429906622107,
+              "display_name" : "RPC Queue Wait time",
+              "values" : "[{\"name\":\"RPC Queue Wait time\",\"value\":\"${Hadoop:service\\u003dNameNode,name\\u003dRpcActivity.RpcQueueTimeAvgTime}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 9,
+              "metrics" : "[{\"name\":\"Hadoop:service\\u003dDataNode,name\\u003dRpcActivity.RpcProcessingTimeAvgTime\",\"metric_path\":\"metrics/rpc/RpcProcessingTime_avg_time\",\"service_name\":\"HDFS\",\"component_name\":\"NAMENODE\",\"host_component_criteria\":\"host_components/metrics/dfs/FSNamesystem/HAState\\u003dactive\"}]",
+              "author" : "ambari",
+              "description" : null,
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"ms\"}",
+              "widget_name" : "RPC_PROCESSING_TIME",
+              "widget_type" : "NUMBER",
+              "time_created" : 1429906622107,
+              "display_name" : "RPC Processing time",
+              "values" : "[{\"name\":\"RPC Processing time\",\"value\":\"${Hadoop:service\\u003dDataNode,name\\u003dRpcActivity.RpcProcessingTimeAvgTime}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 11,
+              "metrics" : "[{\"name\":\"Hadoop:service\\u003dNameNode,name\\u003dFSNamesystem.UnderReplicatedBlocks\",\"metric_path\":\"metrics/dfs/FSNamesystem/UnderReplicatedBlocks\",\"service_name\":\"HDFS\",\"component_name\":\"NAMENODE\"}]",
+              "author" : "ambari",
+              "description" : null,
+              "scope" : "CLUSTER",
+              "properties" : "{}",
+              "widget_name" : "Under Replicated Blocks",
+              "widget_type" : "NUMBER",
+              "time_created" : 1429906622107,
+              "display_name" : "Under Replicated Blocks",
+              "values" : "[{\"name\":\"Under Replicated Blocks\",\"value\":\"${Hadoop:service\\u003dNameNode,name\\u003dFSNamesystem.UnderReplicatedBlocks}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 10,
+              "metrics" : "[{\"name\":\"Hadoop:service\\u003dNameNode,name\\u003dFSNamesystem.CorruptBlocks\",\"metric_path\":\"metrics/dfs/FSNamesystem/CorruptBlocks\",\"service_name\":\"HDFS\",\"component_name\":\"NAMENODE\"}]",
+              "author" : "ambari",
+              "description" : null,
+              "scope" : "CLUSTER",
+              "properties" : "{}",
+              "widget_name" : "Corrupted Blocks",
+              "widget_type" : "NUMBER",
+              "time_created" : 1429906622107,
+              "display_name" : "Corrupted Blocks",
+              "values" : "[{\"name\":\"Corrupted Blocks\",\"value\":\"${Hadoop:service\\u003dNameNode,name\\u003dFSNamesystem.CorruptBlocks}\"}]",
+              "cluster_name" : "c1"
+            }
+          }
+        ]
+      }
+    }
+  ]
+}

+ 35 - 0
ambari-web/app/assets/data/widget_layouts/SYSTEM_HEATMAPS.json

@@ -0,0 +1,35 @@
+{
+  "href" : "http://c6401.ambari.apache.org:8080/api/v1/users/admin/activeWidgetLayouts?WidgetLayoutInfo/section_name=SYSTEM_HEATMAPS",
+  "items" : [
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widget_layouts/15",
+      "WidgetLayoutInfo" : {
+        "cluster_name" : "c1",
+        "display_name" : "Heatmaps",
+        "id" : 15,
+        "layout_name" : "admin_system_heatmap",
+        "scope" : "USER",
+        "section_name" : "SYSTEM_HEATMAPS",
+        "user_name" : "admin",
+        "widgets" : [
+          {
+            "WidgetInfo" : {
+              "id" : 1,
+              "metrics" : "[{\"name\":\"disk_free\",\"metric_path\":\"metrics/disk/disk_free\",\"service_name\":\"STACK\"},{\"name\":\"disk_total\",\"metric_path\":\"metrics/disk/disk_total\",\"service_name\":\"STACK\"}]",
+              "author" : "ambari",
+              "description" : "",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"%\",\"max_limit\":\"100\"}",
+              "widget_name" : "HOST_DISK_USED",
+              "widget_type" : "HEATMAP",
+              "time_created" : 1429906621944,
+              "display_name" : "Host Disk Space Used %",
+              "values" : "[{\"name\":\"Host Disk Space Used %\",\"value\":\"${((disk_total-disk_free)/disk_total)*100}\"}]",
+              "cluster_name" : "c1"
+            }
+          }
+        ]
+      }
+    }
+  ]
+}

+ 279 - 0
ambari-web/app/assets/data/widget_layouts/SYSTEM_HEATMAPS_WIDGETS.json

@@ -0,0 +1,279 @@
+
+{
+  "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets?WidgetInfo/widget_type=HEATMAP&WidgetInfo/scope=CLUSTER&fields=WidgetInfo/metrics",
+  "items" : [
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/1",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "Host Disk Space Used %",
+        "id" : 1,
+        "metrics" : "[{\"name\":\"disk_free\",\"metric_path\":\"metrics/disk/disk_free\",\"service_name\":\"STACK\"},{\"name\":\"disk_total\",\"metric_path\":\"metrics/disk/disk_total\",\"service_name\":\"STACK\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HOST_DISK_USED",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/2",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "Host Memory Used %",
+        "id" : 2,
+        "metrics" : "[{\"name\":\"mem_total\",\"metric_path\":\"metrics/memory/mem_total\",\"service_name\":\"STACK\"},{\"name\":\"mem_free\",\"metric_path\":\"metrics/memory/mem_free\",\"service_name\":\"STACK\"},{\"name\":\"mem_cached\",\"metric_path\":\"metrics/memory/mem_cached\",\"service_name\":\"STACK\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HOST_MEMORY_USED",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/3",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "Host CPU Wait IO %",
+        "id" : 3,
+        "metrics" : "[{\"name\":\"cpu_wio\",\"metric_path\":\"metrics/cpu/cpu_wio\",\"service_name\":\"STACK\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HOST_CPU_WAIT_IO",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/12",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HDFS Bytes Read",
+        "id" : 12,
+        "metrics" : "[{\"name\":\"dfs.datanode.BytesRead\",\"metric_path\":\"metrics/dfs/datanode/bytes_read\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HDFS Bytes Read",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/13",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HDFS Bytes Written",
+        "id" : 13,
+        "metrics" : "[{\"name\":\"dfs.datanode.BytesWritten\",\"metric_path\":\"metrics/dfs/datanode/bytes_written\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HDFS Bytes Written",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/14",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "DataNode Garbage Collection Time",
+        "id" : 14,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dDataNode,name\\u003dJvmMetrics.GcTimeMillis\",\"metric_path\":\"metrics/jvm/gcTimeMillis\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "DataNode Garbage Collection Time",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/15",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "DataNode JVM Heap Memory Used",
+        "id" : 15,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dDataNode,name\\u003dJvmMetrics.MemHeapUsedM\",\"metric_path\":\"metrics/jvm/memHeapUsedM\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "DataNode JVM Heap Memory Used",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/16",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "DataNode JVM Heap Memory Committed",
+        "id" : 16,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dDataNode,name\\u003dJvmMetrics.MemHeapCommittedM\",\"metric_path\":\"metrics/jvm/memHeapCommittedM\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "DataNode JVM Heap Memory Committed",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/17",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "DataNode Process Disk I/O Utilization",
+        "id" : 17,
+        "metrics" : "[{\"name\":\"dfs.datanode.BytesRead\",\"metric_path\":\"metrics/dfs/datanode/bytes_read\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"},{\"name\":\"dfs.datanode.BytesWritten\",\"metric_path\":\"metrics/dfs/datanode/bytes_written\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"},{\"name\":\"dfs.datanode.TotalReadTime\",\"metric_path\":\"metrics/dfs/datanode/total_read_time\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"},{\"name\":\"dfs.datanode.TotalWriteTime\",\"metric_path\":\"metrics/dfs/datanode/total_write_time\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "DataNode Process Disk I/O Utilization",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/18",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "DataNode Process Network I/O Utilization",
+        "id" : 18,
+        "metrics" : "[{\"name\":\"dfs.datanode.RemoteBytesRead\",\"metric_path\":\"metrics/dfs/datanode/remote_bytes_read\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"},{\"name\":\"dfs.datanode.ReadsFromRemoteClient\",\"metric_path\":\"metrics/dfs/datanode/reads_from_remote_client\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"},{\"name\":\"dfs.datanode.RemoteBytesWritten\",\"metric_path\":\"metrics/dfs/datanode/remote_bytes_written\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"},{\"name\":\"dfs.datanode.WritesFromRemoteClient\",\"metric_path\":\"metrics/dfs/datanode/writes_from_remote_client\",\"service_name\":\"HDFS\",\"component_name\":\"DATANODE\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "DataNode Process Network I/O Utilization",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/29",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HBase Compaction Queue Size",
+        "id" : 29,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dHBase,name\\u003dRegionServer,sub\\u003dServer.compactionQueueLength\",\"metric_path\":\"metrics/hbase/regionserver/compactionQueueSize\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HBase Compaction Queue Size",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/30",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HBase Memstore Sizes",
+        "id" : 30,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dHBase,name\\u003dRegionServer,sub\\u003dServer.memStoreSize\",\"metric_path\":\"metrics/hbase/regionserver/memstoreSize\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HBase Memstore Sizes",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/31",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HBase Read Request Count",
+        "id" : 31,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dHBase,name\\u003dRegionServer,sub\\u003dServer.readRequestCount\",\"metric_path\":\"metrics/hbase/regionserver/readRequestsCount\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HBase Read Request Count",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/32",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HBase Write Request Count",
+        "id" : 32,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dHBase,name\\u003dRegionServer,sub\\u003dServer.writeRequestCount\",\"metric_path\":\"metrics/hbase/regionserver/writeRequestsCount\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HBase Write Request Count",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/33",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "HBase Regions",
+        "id" : 33,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dHBase,name\\u003dRegionServer,sub\\u003dServer.regionCount\",\"metric_path\":\"metrics/hbase/regionserver/regions\",\"service_name\":\"HBASE\",\"component_name\":\"HBASE_REGIONSERVER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "HBase Regions",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/38",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "NodeManager GC Time",
+        "id" : 38,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dNodeManager,name\\u003dJvmMetrics.GcTimeMillis\",\"metric_path\":\"metrics/jvm/gcTimeMillis\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "NodeManager GC Time",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/39",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "NodeManager JVM Heap Memory Used",
+        "id" : 39,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dNodeManager,name\\u003dJvmMetrics.MemHeapUsedM\",\"metric_path\":\"metrics/jvm/memHeapUsedM\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "NodeManager JVM Heap Memory Used",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/40",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "NodeManager Memory used %",
+        "id" : 40,
+        "metrics" : "[{\"name\":\"yarn.NodeManagerMetrics.AllocatedGB\",\"metric_path\":\"metrics/yarn/AllocatedGB\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"},{\"name\":\"yarn.NodeManagerMetrics.AvailableGB\",\"metric_path\":\"metrics/yarn/AvailableGB\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "NodeManager Memory used %",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/41",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "Allocated Containers",
+        "id" : 41,
+        "metrics" : "[{\"name\":\"yarn.NodeManagerMetrics.AllocatedContainers\",\"metric_path\":\"metrics/yarn/AllocatedContainers\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "Allocated Containers",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/42",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "NodeManager RAM Utilized",
+        "id" : 42,
+        "metrics" : "[{\"name\":\"yarn.NodeManagerMetrics.AllocatedGB\",\"metric_path\":\"metrics/yarn/AllocatedGB\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "NodeManager RAM Utilized",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/43",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "NodeManager CPU Utilized",
+        "id" : 43,
+        "metrics" : "[{\"name\":\"yarn.NodeManagerMetrics.AllocatedVCores\",\"metric_path\":\"metrics/yarn/AllocatedVCores\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "NodeManager CPU Utilized",
+        "widget_type" : "HEATMAP"
+      }
+    }
+  ]
+}

+ 35 - 0
ambari-web/app/assets/data/widget_layouts/YARN_HEATMAPS.json

@@ -0,0 +1,35 @@
+{
+  "href" : "http://c6401.ambari.apache.org:8080/api/v1/users/admin/activeWidgetLayouts?WidgetLayoutInfo/section_name=YARN_HEATMAPS",
+  "items" : [
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widget_layouts/11",
+      "WidgetLayoutInfo" : {
+        "cluster_name" : "c1",
+        "display_name" : "YARN Heatmaps",
+        "id" : 11,
+        "layout_name" : "admin_yarn_heatmap",
+        "scope" : "USER",
+        "section_name" : "YARN_HEATMAPS",
+        "user_name" : "admin",
+        "widgets" : [
+          {
+            "WidgetInfo" : {
+              "id" : 41,
+              "metrics" : "[{\"name\":\"yarn.NodeManagerMetrics.AllocatedContainers\",\"metric_path\":\"metrics/yarn/AllocatedContainers\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+              "author" : "ambari",
+              "description" : "",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"\",\"max_limit\":\"100\"}",
+              "widget_name" : "Allocated Containers",
+              "widget_type" : "HEATMAP",
+              "time_created" : 1429906622523,
+              "display_name" : "Allocated Containers",
+              "values" : "[{\"name\":\"Allocated Containers\",\"value\":\"${yarn.NodeManagerMetrics.AllocatedContainers}\"}]",
+              "cluster_name" : "c1"
+            }
+          }
+        ]
+      }
+    }
+  ]
+}

+ 84 - 0
ambari-web/app/assets/data/widget_layouts/YARN_HEATMAPS_WIDGETS.json

@@ -0,0 +1,84 @@
+
+{
+  "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets?WidgetInfo/widget_type=HEATMAP&WidgetInfo/scope=CLUSTER&WidgetInfo/metrics.matches(.*\\\"service_name\\\":\\\"YARN\\\".*)&fields=WidgetInfo/metrics",
+  "items" : [
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/38",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "NodeManager GC Time",
+        "id" : 38,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dNodeManager,name\\u003dJvmMetrics.GcTimeMillis\",\"metric_path\":\"metrics/jvm/gcTimeMillis\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "NodeManager GC Time",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/39",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "NodeManager JVM Heap Memory Used",
+        "id" : 39,
+        "metrics" : "[{\"name\":\"Hadoop:service\\u003dNodeManager,name\\u003dJvmMetrics.MemHeapUsedM\",\"metric_path\":\"metrics/jvm/memHeapUsedM\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "NodeManager JVM Heap Memory Used",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/40",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "NodeManager Memory used %",
+        "id" : 40,
+        "metrics" : "[{\"name\":\"yarn.NodeManagerMetrics.AllocatedGB\",\"metric_path\":\"metrics/yarn/AllocatedGB\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"},{\"name\":\"yarn.NodeManagerMetrics.AvailableGB\",\"metric_path\":\"metrics/yarn/AvailableGB\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "NodeManager Memory used %",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/41",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "Allocated Containers",
+        "id" : 41,
+        "metrics" : "[{\"name\":\"yarn.NodeManagerMetrics.AllocatedContainers\",\"metric_path\":\"metrics/yarn/AllocatedContainers\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "Allocated Containers",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/42",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "NodeManager RAM Utilized",
+        "id" : 42,
+        "metrics" : "[{\"name\":\"yarn.NodeManagerMetrics.AllocatedGB\",\"metric_path\":\"metrics/yarn/AllocatedGB\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "NodeManager RAM Utilized",
+        "widget_type" : "HEATMAP"
+      }
+    },
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widgets/43",
+      "WidgetInfo" : {
+        "author" : "ambari",
+        "cluster_name" : "c1",
+        "display_name" : "NodeManager CPU Utilized",
+        "id" : 43,
+        "metrics" : "[{\"name\":\"yarn.NodeManagerMetrics.AllocatedVCores\",\"metric_path\":\"metrics/yarn/AllocatedVCores\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+        "scope" : "CLUSTER",
+        "widget_name" : "NodeManager CPU Utilized",
+        "widget_type" : "HEATMAP"
+      }
+    }
+  ]
+}

+ 84 - 0
ambari-web/app/assets/data/widget_layouts/YARN_SUMMARY.json

@@ -0,0 +1,84 @@
+
+{
+  "href" : "http://c6401.ambari.apache.org:8080/api/v1/users/admin/activeWidgetLayouts?WidgetLayoutInfo/section_name=YARN_SUMMARY",
+  "items" : [
+    {
+      "href" : "http://c6401.ambari.apache.org:8080/api/v1/clusters/c1/widget_layouts/10",
+      "WidgetLayoutInfo" : {
+        "cluster_name" : "c1",
+        "display_name" : "Standard YARN Dashboard",
+        "id" : 10,
+        "layout_name" : "admin_yarn_dashboard",
+        "scope" : "USER",
+        "section_name" : "YARN_SUMMARY",
+        "user_name" : "admin",
+        "widgets" : [
+          {
+            "WidgetInfo" : {
+              "id" : 34,
+              "metrics" : "[{\"name\":\"yarn.NodeManagerMetrics.AllocatedGB\",\"metric_path\":\"metrics/yarn/AllocatedGB\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"},{\"name\":\"proc_total\",\"metric_path\":\"metrics/process/proc_total\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+              "author" : "ambari",
+              "description" : "",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"\",\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "NodeManager RAM Utilization",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622523,
+              "display_name" : "NodeManager RAM Utilization",
+              "values" : "[{\"name\":\"Total Allocatable RAM Utilized across NodeManager\",\"value\":\"${yarn.NodeManagerMetrics.AllocatedGB}\"},{\"name\":\"NodeManager total processes\",\"value\":\"${proc_total}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 35,
+              "metrics" : "[{\"name\":\"yarn.NodeManagerMetrics.AllocatedVCores\",\"metric_path\":\"metrics/yarn/AllocatedVCores\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"},{\"name\":\"cpu_idle\",\"metric_path\":\"metrics/cpu/cpu_idle\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+              "author" : "ambari",
+              "description" : "",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"\",\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "NodeManager CPU Utilization",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622523,
+              "display_name" : "NodeManager CPU Utilization",
+              "values" : "[{\"name\":\"Total Allocatable CPU Utilized across NodeManager\",\"value\":\"${yarn.NodeManagerMetrics.AllocatedVCores}\"},{\"name\":\"NodeManager CPU Idle\",\"value\":\"${cpu_idle}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 36,
+              "metrics" : "[{\"name\":\"read_bytes\",\"metric_path\":\"metrics/disk/read_bytes\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"},{\"name\":\"write_bytes\",\"metric_path\":\"metrics/disk/write_bytes\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"},{\"name\":\"bytes_in\",\"metric_path\":\"metrics/network/bytes_in\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"},{\"name\":\"bytes_out\",\"metric_path\":\"metrics/network/bytes_out\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+              "author" : "ambari",
+              "description" : "",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"\",\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "NodeManager Disk and Network Utilization",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622523,
+              "display_name" : "NodeManager Disk and Network Utilization",
+              "values" : "[{\"name\":\"DISK IO\",\"value\":\"${read_bytes + write_bytes}\"},{\"name\":\"Network IO\",\"value\":\"${bytes_in + bytes_out}\"}]",
+              "cluster_name" : "c1"
+            }
+          },
+          {
+            "WidgetInfo" : {
+              "id" : 37,
+              "metrics" : "[{\"name\":\"yarn.NodeManagerMetrics.ContainersFailed\",\"metric_path\":\"metrics/yarn/ContainersFailed\",\"service_name\":\"YARN\",\"component_name\":\"NODEMANAGER\"}]",
+              "author" : "ambari",
+              "description" : "",
+              "scope" : "CLUSTER",
+              "properties" : "{\"display_unit\":\"\",\"graph_type\":\"LINE\",\"time_range\":\"1\"}",
+              "widget_name" : "NodeManager Container Failures",
+              "widget_type" : "GRAPH",
+              "time_created" : 1429906622523,
+              "display_name" : "NodeManager Container Failures",
+              "values" : "[{\"name\":\"NodeManager Container Failures\",\"value\":\"${yarn.NodeManagerMetrics.ContainersFailed}\"}]",
+              "cluster_name" : "c1"
+            }
+          }
+        ]
+      }
+    }
+  ]
+}

+ 4 - 17
ambari-web/app/controllers/main/charts/heatmap.js

@@ -74,7 +74,7 @@ App.MainChartsHeatmapController = Em.Controller.extend(App.WidgetSectionMixin, {
       });
       });
       var categories = self.categorizeByServiceName(self.get('allHeatmaps'));
       var categories = self.categorizeByServiceName(self.get('allHeatmaps'));
       self.set('heatmapCategories', categories);
       self.set('heatmapCategories', categories);
-      self.loadActiveWidgetLayout();
+      self.getActiveWidgetLayout();
     });
     });
   },
   },
 
 
@@ -111,20 +111,6 @@ App.MainChartsHeatmapController = Em.Controller.extend(App.WidgetSectionMixin, {
     this.get('allHeatmaps').clear();
     this.get('allHeatmaps').clear();
   },
   },
 
 
-  /**
-   * success callback of <code>loadActiveWidgetLayout()</code>
-   * @overrriden
-   * @param {object|null} data
-   */
-  loadActiveWidgetLayoutSuccessCallback: function (data) {
-    if (data.items[0]) {
-      App.widgetMapper.map(data.items[0].WidgetLayoutInfo);
-      App.widgetLayoutMapper.map(data);
-      this.set('activeWidgetLayout', App.WidgetLayout.find().findProperty('layoutName', this.get('defaultLayoutName')));
-      this.set('isWidgetsLoaded', true);
-    }
-  },
-
   /**
   /**
    *  Gets all heatmap widgets that should be available in select metrics dropdown on heatmap page
    *  Gets all heatmap widgets that should be available in select metrics dropdown on heatmap page
    * @return {$.ajax}
    * @return {$.ajax}
@@ -136,7 +122,8 @@ App.MainChartsHeatmapController = Em.Controller.extend(App.WidgetSectionMixin, {
       name: 'widgets.get',
       name: 'widgets.get',
       sender: this,
       sender: this,
       data: {
       data: {
-        urlParams: urlParams
+        urlParams: urlParams,
+        sectionName: this.get('sectionName')
       }
       }
     });
     });
   },
   },
@@ -250,7 +237,7 @@ App.MainChartsHeatmapController = Em.Controller.extend(App.WidgetSectionMixin, {
     var self = this;
     var self = this;
     var metricItem = Em.Object.create(event.context);
     var metricItem = Em.Object.create(event.context);
     this.saveWidgetLayout([metricItem]).done(function(){
     this.saveWidgetLayout([metricItem]).done(function(){
-      self.loadActiveWidgetLayout();
+      self.getActiveWidgetLayout();
     });
     });
   },
   },
 
 

+ 1 - 8
ambari-web/app/controllers/main/service/info/summary.js

@@ -314,13 +314,6 @@ App.MainServiceInfoSummaryController = Em.Controller.extend(App.WidgetSectionMix
   isMineWidgetsLoaded: false,
   isMineWidgetsLoaded: false,
 
 
 
 
-  /**
-   * @type {Em.A}
-   */
-  widgetLayouts: function () {
-    return App.WidgetLayout.find();
-  }.property('isWidgetLayoutsLoaded'),
-
   /**
   /**
    * load widget layouts across all users in CLUSTER scope
    * load widget layouts across all users in CLUSTER scope
    * @returns {$.ajax}
    * @returns {$.ajax}
@@ -513,7 +506,7 @@ App.MainServiceInfoSummaryController = Em.Controller.extend(App.WidgetSectionMix
    * update current active widget layout
    * update current active widget layout
    */
    */
   updateActiveLayout: function () {
   updateActiveLayout: function () {
-    this.loadActiveWidgetLayout();
+    this.getActiveWidgetLayout();
   },
   },
 
 
   /**
   /**

+ 130 - 11
ambari-web/app/mixins/common/widgets/widget_section.js

@@ -32,6 +32,20 @@ App.WidgetSectionMixin = Ember.Mixin.create({
     return "default_" + heatmapType + this.layoutNameSuffix;
     return "default_" + heatmapType + this.layoutNameSuffix;
   }.property('content.serviceName'),
   }.property('content.serviceName'),
 
 
+  /**
+   * UI user default layout name
+   */
+  userLayoutName: function () {
+    var heatmapType;
+    var loginName = App.router.get('loginName');
+    if (this.get('content.serviceName')) {
+      heatmapType = this.get('content.serviceName').toLowerCase();
+    } else {
+      heatmapType = "system";
+    }
+    return loginName + "_" + heatmapType + this.layoutNameSuffix;
+  }.property('content.serviceName'),
+
   /**
   /**
    * UI section name
    * UI section name
    */
    */
@@ -39,11 +53,18 @@ App.WidgetSectionMixin = Ember.Mixin.create({
     if (this.get('content.serviceName')) {
     if (this.get('content.serviceName')) {
       return this.get('content.serviceName') + this.sectionNameSuffix;
       return this.get('content.serviceName') + this.sectionNameSuffix;
     } else {
     } else {
-      return "SYSTEM"  + this.sectionNameSuffix
+      return "SYSTEM" + this.sectionNameSuffix
     }
     }
   }.property('content.serviceName'),
   }.property('content.serviceName'),
 
 
 
 
+  /**
+   * @type {Em.A}
+   */
+  widgetLayouts: function () {
+    return App.WidgetLayout.find();
+  }.property('isWidgetLayoutsLoaded'),
+
 
 
   /**
   /**
    * Does Service has widget descriptor defined in the stack
    * Does Service has widget descriptor defined in the stack
@@ -57,7 +78,7 @@ App.WidgetSectionMixin = Ember.Mixin.create({
     } else if (this.get('sectionName') === 'SYSTEM_HEATMAPS') {
     } else if (this.get('sectionName') === 'SYSTEM_HEATMAPS') {
       isServiceWithWidgetdescriptor = true;
       isServiceWithWidgetdescriptor = true;
     }
     }
-    return isServiceWithWidgetdescriptor && App.supports.customizedWidgets;
+    return isServiceWithWidgetdescriptor && (App.supports.customizedWidgets || this.sectionNameSuffix === "_HEATMAPS");
   }.property('content.serviceName'),
   }.property('content.serviceName'),
 
 
   /**
   /**
@@ -73,27 +94,31 @@ App.WidgetSectionMixin = Ember.Mixin.create({
       if (this.get('activeWidgetLayout.widgets')) {
       if (this.get('activeWidgetLayout.widgets')) {
         return this.get('activeWidgetLayout.widgets').toArray();
         return this.get('activeWidgetLayout.widgets').toArray();
       } else {
       } else {
-        return  [];
+        return [];
       }
       }
     }
     }
   }.property('isWidgetsLoaded'),
   }.property('isWidgetsLoaded'),
 
 
+
   /**
   /**
    * load widgets defined by user
    * load widgets defined by user
    * @returns {$.ajax}
    * @returns {$.ajax}
    */
    */
-  loadActiveWidgetLayout: function () {
+  getActiveWidgetLayout: function () {
+    var sectionName = this.get('sectionName');
+    var urlParams = 'WidgetLayoutInfo/section_name=' + sectionName;
     this.set('activeWidgetLayout', {});
     this.set('activeWidgetLayout', {});
     this.set('isWidgetsLoaded', false);
     this.set('isWidgetsLoaded', false);
     if (this.get('isServiceWithEnhancedWidgets')) {
     if (this.get('isServiceWithEnhancedWidgets')) {
       return App.ajax.send({
       return App.ajax.send({
-        name: 'widget.layout.get',
+        name: 'widgets.layouts.active.get',
         sender: this,
         sender: this,
         data: {
         data: {
-          layoutName: this.get('defaultLayoutName'),
-          serviceName: this.get('content.serviceName')
+          userName: App.router.get('loginName'),
+          sectionName: sectionName,
+          urlParams: urlParams
         },
         },
-        success: 'loadActiveWidgetLayoutSuccessCallback'
+        success: 'getActiveWidgetLayoutSuccessCallback'
       });
       });
     } else {
     } else {
       this.set('isWidgetsLoaded', true);
       this.set('isWidgetsLoaded', true);
@@ -102,18 +127,112 @@ App.WidgetSectionMixin = Ember.Mixin.create({
 
 
 
 
   /**
   /**
-   * success callback of <code>loadActiveWidgetLayout()</code>
+   * success callback of <code>getActiveWidgetLayout()</code>
    * @param {object|null} data
    * @param {object|null} data
    */
    */
-  loadActiveWidgetLayoutSuccessCallback: function (data) {
+  getActiveWidgetLayoutSuccessCallback: function (data) {
+    var self = this;
     if (data.items[0]) {
     if (data.items[0]) {
+      self.getWidgetLayoutSuccessCallback(data);
+    } else {
+      self.getAllActiveWidgetLayouts().done(function (activeWidgetLayoutsData) {
+        self.getDefaultWidgetLayoutByName(self.get('defaultLayoutName')).done(function (defaultWidgetLayoutData) {
+          self.createUserWidgetLayout(defaultWidgetLayoutData).done(function (userLayoutIdData) {
+            var activeWidgetLayouts;
+            var widgetLayouts = [];
+            if (!!activeWidgetLayoutsData.items.length) {
+              widgetLayouts = activeWidgetLayoutsData.items.map(function (item) {
+                return {
+                  "id": item.WidgetLayoutInfo.id
+                }
+              });
+            }
+            widgetLayouts.push({id: userLayoutIdData.resources[0].WidgetLayoutInfo.id});
+            activeWidgetLayouts = {
+              "WidgetLayouts": widgetLayouts
+            };
+            self.saveActiveWidgetLayouts(activeWidgetLayouts).done(function () {
+              self.getActiveWidgetLayout();
+            });
+          });
+        });
+      });
+    }
+  },
+
+  getAllActiveWidgetLayouts: function () {
+    return App.ajax.send({
+      name: 'widgets.layouts.all.active.get',
+      sender: this,
+      data: {
+        userName: App.router.get('loginName')
+      }
+    });
+  },
+
+  /**
+   * success callback of <code>getWidgetLayout()</code>
+   * @param {object|null} data
+   */
+  getWidgetLayoutSuccessCallback: function (data) {
+    if (data) {
       App.widgetMapper.map(data.items[0].WidgetLayoutInfo);
       App.widgetMapper.map(data.items[0].WidgetLayoutInfo);
       App.widgetLayoutMapper.map(data);
       App.widgetLayoutMapper.map(data);
-      this.set('activeWidgetLayout', App.WidgetLayout.find().findProperty('layoutName', this.get('defaultLayoutName')));
+      this.set('activeWidgetLayout', App.WidgetLayout.find().findProperty('id', data.items[0].WidgetLayoutInfo.id));
       this.set('isWidgetsLoaded', true);
       this.set('isWidgetsLoaded', true);
     }
     }
   },
   },
 
 
+
+  getDefaultWidgetLayoutByName: function (layoutName) {
+    var urlParams = 'WidgetLayoutInfo/layout_name=' + layoutName;
+    return App.ajax.send({
+      name: 'widget.layout.get',
+      sender: this,
+      data: {
+        urlParams: urlParams
+      }
+    });
+  },
+
+  createUserWidgetLayout: function (defaultWidgetLayoutData) {
+    var layout = defaultWidgetLayoutData.items[0].WidgetLayoutInfo;
+    var layoutName = this.get('userLayoutName');
+    var data = {
+      "WidgetLayoutInfo": {
+        "display_name": layout.display_name,
+        "layout_name": layoutName,
+        "scope": "USER",
+        "section_name": layout.section_name,
+        "user_name": App.router.get('loginName'),
+        "widgets": layout.widgets.map(function (widget) {
+          return {
+            "id": widget.WidgetInfo.id
+          }
+        })
+      }
+    };
+    return App.ajax.send({
+      name: 'widget.layout.create',
+      sender: this,
+      data: {
+        data: data
+      }
+    });
+  },
+
+  saveActiveWidgetLayouts: function (activeWidgetLayouts) {
+    return App.ajax.send({
+      name: 'widget.activelayouts.edit',
+      sender: this,
+      data: {
+        data: activeWidgetLayouts,
+        userName: App.router.get('loginName')
+      }
+    });
+  },
+
+
   /**
   /**
    * save layout after re-order widgets
    * save layout after re-order widgets
    * return {$.ajax}
    * return {$.ajax}

+ 41 - 2
ambari-web/app/utils/ajax/ajax.js

@@ -2408,7 +2408,7 @@ var urls = {
 
 
   'widgets.get': {
   'widgets.get': {
     real: '/clusters/{clusterName}/widgets?{urlParams}',
     real: '/clusters/{clusterName}/widgets?{urlParams}',
-    mock: '/data/widget_layouts/all_heatmaps.json'
+    mock: '/data/widget_layouts/{sectionName}_WIDGETS.json'
   },
   },
 
 
   'widgets.all.shared.get': {
   'widgets.all.shared.get': {
@@ -2426,8 +2426,13 @@ var urls = {
     mock: '/data/widget_layouts/HBASE/stack_layout.json'
     mock: '/data/widget_layouts/HBASE/stack_layout.json'
   },
   },
 
 
+  'widget.layout.id.get': {
+    real: '/clusters/{clusterName}/widget_layouts/{layoutId}',
+    mock: '/data/widget_layouts/{serviceName}/default_dashboard.json'
+  },
+
   'widget.layout.get': {
   'widget.layout.get': {
-    real: '/clusters/{clusterName}/widget_layouts?WidgetLayoutInfo/layout_name={layoutName}',
+    real: '/clusters/{clusterName}/widget_layouts?{urlParams}',
     mock: '/data/widget_layouts/{serviceName}/default_dashboard.json'
     mock: '/data/widget_layouts/{serviceName}/default_dashboard.json'
   },
   },
 
 
@@ -2442,6 +2447,17 @@ var urls = {
     }
     }
   },
   },
 
 
+  'widget.layout.create': {
+    real: '/clusters/{clusterName}/widget_layouts',
+    mock: '',
+    format: function (data) {
+      return {
+        type: 'POST',
+        data: JSON.stringify(data.data)
+      }
+    }
+  },
+
   'widgets.layout.userDefined.get': {
   'widgets.layout.userDefined.get': {
     real: '/users/{loginName}/widget_layouts?section_name={sectionName}',
     real: '/users/{loginName}/widget_layouts?section_name={sectionName}',
     mock: '/data/widget_layouts/HBASE/empty_user_layout.json'
     mock: '/data/widget_layouts/HBASE/empty_user_layout.json'
@@ -2452,6 +2468,29 @@ var urls = {
     mock: '/data/widget_layouts/HBASE/layouts.json'
     mock: '/data/widget_layouts/HBASE/layouts.json'
   },
   },
 
 
+  'widgets.layouts.active.get': {
+    real: '/users/{userName}/activeWidgetLayouts?{urlParams}',
+    mock: '/data/widget_layouts/{sectionName}.json'
+  },
+
+  'widgets.layouts.all.active.get': {
+    real: '/users/{userName}/activeWidgetLayouts',
+    mock: ''
+  },
+
+
+  'widget.activelayouts.edit': {
+    real: '/users/{userName}/activeWidgetLayouts/',
+    mock: '',
+    format: function (data) {
+      return {
+        type: 'PUT',
+        data: JSON.stringify(data.data)
+      }
+    }
+  },
+
+
   'widget.action.delete': {
   'widget.action.delete': {
     real: '/clusters/{clusterName}/widgets/{id}',
     real: '/clusters/{clusterName}/widgets/{id}',
     mock: '',
     mock: '',

+ 1 - 1
ambari-web/app/views/common/widget/graph_widget_view.js

@@ -95,7 +95,7 @@ App.GraphWidgetView = Em.View.extend(App.WidgetMixin, {
         dataLength = metrics.findProperty('name', match).data.length;
         dataLength = metrics.findProperty('name', match).data.length;
       } else {
       } else {
         validExpression = false;
         validExpression = false;
-        console.warn('Metrics not found to compute expression');
+        console.error('Metrics with name "' + match + '" not found to compute expression');
       }
       }
     });
     });
 
 

+ 1 - 1
ambari-web/app/views/main/service/info/summary.js

@@ -543,7 +543,7 @@ App.MainServiceInfoSummaryView = Em.View.extend(App.UserPref, {
     var isMetricsSupported = svcName != 'STORM' || App.get('isStormMetricsSupported');
     var isMetricsSupported = svcName != 'STORM' || App.get('isStormMetricsSupported');
 
 
     if (App.get('supports.customizedWidgets')) {
     if (App.get('supports.customizedWidgets')) {
-        this.get('controller').loadActiveWidgetLayout();
+        this.get('controller').getActiveWidgetLayout();
       if (App.get('supports.customizedWidgetLayout')) {
       if (App.get('supports.customizedWidgetLayout')) {
         this.get('controller').loadWidgetLayouts();
         this.get('controller').loadWidgetLayouts();
       }
       }

+ 5 - 5
ambari-web/test/controllers/main/service/info/summary_test.js

@@ -227,7 +227,7 @@ describe('App.MainServiceInfoSummaryController', function () {
 
 
   });
   });
 
 
-  describe("#loadActiveWidgetLayout() for Enhanced Dashboard", function () {
+  describe("#getActiveWidgetLayout() for Enhanced Dashboard", function () {
     before(function () {
     before(function () {
       sinon.stub(App.ajax, 'send');
       sinon.stub(App.ajax, 'send');
     });
     });
@@ -239,12 +239,12 @@ describe('App.MainServiceInfoSummaryController', function () {
         isServiceWithEnhancedWidgets: true,
         isServiceWithEnhancedWidgets: true,
         content: Em.Object.create({serviceName: 'HDFS'})
         content: Em.Object.create({serviceName: 'HDFS'})
       });
       });
-      controller.loadActiveWidgetLayout();
-      expect(App.ajax.send.getCall(0).args[0].name).to.equal('widget.layout.get');
+      controller.getActiveWidgetLayout();
+      expect(App.ajax.send.getCall(0).args[0].name).to.equal('widgets.layouts.active.get');
     });
     });
   });
   });
 
 
-  describe("#loadActiveWidgetLayoutSuccessCallback()", function () {
+  describe("#getActiveWidgetLayoutSuccessCallback()", function () {
     beforeEach(function () {
     beforeEach(function () {
       sinon.stub( App.widgetLayoutMapper, 'map');
       sinon.stub( App.widgetLayoutMapper, 'map');
       sinon.stub( App.widgetMapper, 'map');
       sinon.stub( App.widgetMapper, 'map');
@@ -258,7 +258,7 @@ describe('App.MainServiceInfoSummaryController', function () {
         isServiceWithEnhancedWidgets: true,
         isServiceWithEnhancedWidgets: true,
         content: Em.Object.create({serviceName: 'HDFS'})
         content: Em.Object.create({serviceName: 'HDFS'})
       });
       });
-      controller.loadActiveWidgetLayoutSuccessCallback({items:[{
+      controller.getActiveWidgetLayoutSuccessCallback({items:[{
         WidgetLayoutInfo: {}
         WidgetLayoutInfo: {}
       }]});
       }]});
       expect(controller.get('isWidgetsLoaded')).to.be.true;
       expect(controller.get('isWidgetsLoaded')).to.be.true;