...
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
There is a metric tab in each taskmanager page, but there is no metric data in the job manager, it would be better for users to monitor the cluster with job manager metrics.
Proposed Changes
...
Aligning the overview page of JobManager with the Flink's new memory model (FLIP-116).
Proposed Changes
This includes making JobManager's memory-related metrics available in the UI. Additionally, the configuration parameters should be exposed similar to the TaskManager's overview (see FLIP-102: Add More Metrics to TaskManager).
JVM | VM | Flink Compose | user conf key | configuration key | metric max | metric used |
JVM | JVM Heap | FrameWork Heap | jobmanager.memory.heap.size | memoryConfiguration.jvmHeap | Status.JVM.Memory.Heap.Max | Status.JVM.Memory.Heap.Used |
JVM None-Heap | JVM MetaSpace | jobmanager.memory.jvm-metaspace.size | memoryConfiguration.jvmMetaspace | Status.JVM.Memory.Metaspace.Max | Status.JVM.Memory.Metaspace.Used | |
JVM Overhead | jobmanager.memory.jvm-overhead.min | memoryConfiguration.jvmOverhead | Status.JVM.Memory.NonHeap.Max | Status.JVM.Memory.NonHeap.Used | ||
jobmanager.memory.jvm-overhead.max | ||||||
other | - | - | ||||
Outside JVM | Mapped | - | - | - | Status.JVM.Memory.Mapped.TotalCapacity | Status.JVM.Memory.Mapped.MemoryUsed |
Direct | - | jobmanager.memory.off-heap.size | memoryConfiguration.jvmOffHeap | Status.JVM.Memory.NonHeap.Max | Status.JVM.Memory.NonHeap.Used | |
Native | - |
Frontend Design
Display metrics inside JVM, outside JVM and GC
...
{ "type" : "object", "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:cluster:JobManagerMetricsInfo", "properties" : { "heapUsed" : { "type" : "integer" }, "heapCommitted" : { "type" : "integer" }, "heapMax" : { "type" : "integer" }, "nonHeapUsed" : { "type" : "integer" }, "nonHeapCommitted" : { "type" : "integer" }, "nonHeapMax" : { "type" : "integer" }, "directCount" : { "type" : "integer" }, "directUsed" : { "type" : "integer" }, "directMax" : { "type" : "integer" }, "mappedCount" : { "type" : "integer" }, "mappedUsed" : { "type" : "integer" }, "mappedMax" : { "type" : "integer" }, "garbageCollectors" : { "type" : "array", "items" : { "type" : "object", "id" : "urn:jsonschema:org:apache:flink:runtime:rest:messages:cluster:JobManagerMetricsInfo:GarbageCollectorInfo", "properties" : { "name" : { "type" : "string" }, "count" : { "type" : "integer" }, "time" : { "type" : "integer" } } } } } } |
Test Plan
Covered by unit tests.