You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by gr...@apache.org on 2016/12/02 15:46:01 UTC

[3/3] flink git commit: [FLINK-5209] [webfrontend] Fix TaskManager metrics

[FLINK-5209] [webfrontend] Fix TaskManager metrics

Fixes a capitalization incompatibility when providing memory metrics to
the webfrontend. Numeric metrics now returned as numbers in the JSON
API. Non-byte numbers now localized in the webfrontend.

This closes #2902


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

Branch: refs/heads/master
Commit: 4e336c692b74f218ba09844a46f49534e3a210e9
Parents: 45b770b
Author: Greg Hogan <co...@greghogan.com>
Authored: Tue Nov 29 16:25:21 2016 -0500
Committer: Greg Hogan <co...@greghogan.com>
Committed: Fri Dec 2 10:42:10 2016 -0500

----------------------------------------------------------------------
 .../handlers/TaskManagersHandler.java           | 31 +++++++++-----
 .../taskmanager/taskmanager.metrics.jade        | 43 ++++++++++----------
 .../app/scripts/common/filters.coffee           |  3 ++
 flink-runtime-web/web-dashboard/web/js/index.js |  6 ++-
 .../taskmanager/taskmanager.metrics.html        | 42 +++++++++----------
 .../flink/runtime/metrics/util/MetricUtils.java | 10 +++--
 6 files changed, 78 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/4e336c69/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/TaskManagersHandler.java
----------------------------------------------------------------------
diff --git a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/TaskManagersHandler.java b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/TaskManagersHandler.java
index 66c5373..c757f5c 100644
--- a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/TaskManagersHandler.java
+++ b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/TaskManagersHandler.java
@@ -124,16 +124,27 @@ public class TaskManagersHandler extends AbstractJsonRequestHandler  {
 							gen.writeNumberField("totalUsed", heapUsed + nonHeapUsed);
 							gen.writeNumberField("totalMax", heapTotal + nonHeapTotal);
 
-							gen.writeStringField("directCount", metrics.getMetric("Status.JVM.Memory.Direct.Count", "0"));
-							gen.writeStringField("directUsed", metrics.getMetric("Status.JVM.Memory.Direct.MemoryUsed", "0"));
-							gen.writeStringField("directMax", metrics.getMetric("Status.JVM.Memory.Direct.TotalCapacity", "0"));
+							long directCount = Long.valueOf(metrics.getMetric("Status.JVM.Memory.Direct.Count", "0"));
+							long directUsed = Long.valueOf(metrics.getMetric("Status.JVM.Memory.Direct.MemoryUsed", "0"));
+							long directMax = Long.valueOf(metrics.getMetric("Status.JVM.Memory.Direct.TotalCapacity", "0"));
 
-							gen.writeStringField("mappedCount", metrics.getMetric("Status.JVM.Memory.Mapped.Count", "0"));
-							gen.writeStringField("mappedUsed", metrics.getMetric("Status.JVM.Memory.Mapped.MemoryUsed", "0"));
-							gen.writeStringField("mappedMax", metrics.getMetric("Status.JVM.Memory.Mapped.TotalCapacity", "0"));
+							gen.writeNumberField("directCount", directCount);
+							gen.writeNumberField("directUsed", directUsed);
+							gen.writeNumberField("directMax", directMax);
 
-							gen.writeStringField("memorySegmentsAvailable", metrics.getMetric("Status.Network.AvailableMemorySegments", "0"));
-							gen.writeStringField("memorySegmentsTotal", metrics.getMetric("Status.Network.TotalMemorySegments", "0"));
+							long mappedCount = Long.valueOf(metrics.getMetric("Status.JVM.Memory.Mapped.Count", "0"));
+							long mappedUsed = Long.valueOf(metrics.getMetric("Status.JVM.Memory.Mapped.MemoryUsed", "0"));
+							long mappedMax = Long.valueOf(metrics.getMetric("Status.JVM.Memory.Mapped.TotalCapacity", "0"));
+
+							gen.writeNumberField("mappedCount", mappedCount);
+							gen.writeNumberField("mappedUsed", mappedUsed);
+							gen.writeNumberField("mappedMax", mappedMax);
+
+							long memorySegmentsAvailable = Long.valueOf(metrics.getMetric("Status.Network.AvailableMemorySegments", "0"));
+							long memorySegmentsTotal = Long.valueOf(metrics.getMetric("Status.Network.TotalMemorySegments", "0"));
+
+							gen.writeNumberField("memorySegmentsAvailable", memorySegmentsAvailable);
+							gen.writeNumberField("memorySegmentsTotal", memorySegmentsTotal);
 
 							gen.writeArrayFieldStart("garbageCollectors");
 
@@ -143,8 +154,8 @@ public class TaskManagersHandler extends AbstractJsonRequestHandler  {
 								if (count != null  && time != null) {
 									gen.writeStartObject();
 									gen.writeStringField("name", gcName);
-									gen.writeStringField("count", count);
-									gen.writeStringField("time", time);
+									gen.writeNumberField("count", Long.valueOf(count));
+									gen.writeNumberField("time", Long.valueOf(time));
 									gen.writeEndObject();
 								}
 							}

http://git-wip-us.apache.org/repos/asf/flink/blob/4e336c69/flink-runtime-web/web-dashboard/app/partials/taskmanager/taskmanager.metrics.jade
----------------------------------------------------------------------
diff --git a/flink-runtime-web/web-dashboard/app/partials/taskmanager/taskmanager.metrics.jade b/flink-runtime-web/web-dashboard/app/partials/taskmanager/taskmanager.metrics.jade
index 7920178..b7e8fec 100644
--- a/flink-runtime-web/web-dashboard/app/partials/taskmanager/taskmanager.metrics.jade
+++ b/flink-runtime-web/web-dashboard/app/partials/taskmanager/taskmanager.metrics.jade
@@ -50,19 +50,19 @@ div(ng-if="metrics.id")
     tbody
       tr
         td Heap
-        td {{ metrics.metrics.heapCommitted | humanizeBytes  }}
-        td {{ metrics.metrics.heapUsed | humanizeBytes  }}
-        td {{ metrics.metrics.heapMax | humanizeBytes  }}
+        td {{ metrics.metrics.heapCommitted | humanizeBytes }}
+        td {{ metrics.metrics.heapUsed | humanizeBytes }}
+        td {{ metrics.metrics.heapMax | humanizeBytes }}
       tr
         td Non-Heap
-        td {{ metrics.metrics.nonHeapCommitted | humanizeBytes  }}
-        td {{ metrics.metrics.nonHeapUsed | humanizeBytes  }}
-        td {{ metrics.metrics.nonHeapMax | humanizeBytes  }}
+        td {{ metrics.metrics.nonHeapCommitted | humanizeBytes }}
+        td {{ metrics.metrics.nonHeapUsed | humanizeBytes }}
+        td {{ metrics.metrics.nonHeapMax | humanizeBytes }}
       tr
         td Total
-        td {{ metrics.metrics.totalCommitted | humanizeBytes  }}
-        td {{ metrics.metrics.totalUsed | humanizeBytes  }}
-        td {{ metrics.metrics.totalMax | humanizeBytes  }}
+        td {{ metrics.metrics.totalCommitted | humanizeBytes }}
+        td {{ metrics.metrics.totalUsed | humanizeBytes }}
+        td {{ metrics.metrics.totalMax | humanizeBytes }}
 
   h2 Outside JVM
   table.table.table-properties
@@ -75,18 +75,18 @@ div(ng-if="metrics.id")
     tbody
       tr
         td Direct
-        td {{ metrics.metrics.directCount }}
-        td {{ metrics.metrics.directUsed }}
-        td {{ metrics.metrics.directTotal }}
+        td {{ metrics.metrics.directCount | toLocaleString }}
+        td {{ metrics.metrics.directUsed | humanizeBytes }}
+        td {{ metrics.metrics.directMax | humanizeBytes }}
       tr
         td Mapped
-        td {{ metrics.metrics.mappedCount }}
-        td {{ metrics.metrics.mappedUsed }}
-        td {{ metrics.metrics.mappedMax }}
+        td {{ metrics.metrics.mappedCount | toLocaleString }}
+        td {{ metrics.metrics.mappedUsed | humanizeBytes }}
+        td {{ metrics.metrics.mappedMax | humanizeBytes }}
 
   h1 Network
 
-  h2 MemorySegments
+  h2 Memory Segments
   table.table.table-properties
     thead
       tr
@@ -95,11 +95,10 @@ div(ng-if="metrics.id")
     tbody
       tr
         td Available
-        td {{ metrics.metrics.memorySegmentsAvailable }}
+        td {{ metrics.metrics.memorySegmentsAvailable | toLocaleString }}
       tr
         td Total
-        td {{ metrics.metrics.memorySegmentsTotal }}
-
+        td {{ metrics.metrics.memorySegmentsTotal | toLocaleString }}
 
   h1 Garbage Collection
   table.table.table-properties
@@ -109,7 +108,7 @@ div(ng-if="metrics.id")
         th Count
         th Time
     tbody(ng-repeat="g in metrics.metrics.garbageCollectors")
-      tr  
+      tr
         td {{ g.name }}
-        td {{ g.count }}
-        td {{ g.time }}
\ No newline at end of file
+        td {{ g.count | toLocaleString }}
+        td {{ g.time | toLocaleString }}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flink/blob/4e336c69/flink-runtime-web/web-dashboard/app/scripts/common/filters.coffee
----------------------------------------------------------------------
diff --git a/flink-runtime-web/web-dashboard/app/scripts/common/filters.coffee b/flink-runtime-web/web-dashboard/app/scripts/common/filters.coffee
index 093c599..c3030a9 100644
--- a/flink-runtime-web/web-dashboard/app/scripts/common/filters.coffee
+++ b/flink-runtime-web/web-dashboard/app/scripts/common/filters.coffee
@@ -73,5 +73,8 @@ angular.module('flinkApp')
     return "" if typeof bytes is "undefined" or bytes is null
     if bytes < 1000 then bytes + " B" else converter(bytes, 1)
 
+.filter "toLocaleString", ->
+  (text) -> text.toLocaleString()
+
 .filter "toUpperCase", ->
   (text) -> text.toUpperCase()