Skip to content

Commit

Permalink
[FLINK-11183][metrics] Move memory metrics creation into separate method
Browse files Browse the repository at this point in the history
  • Loading branch information
zentol committed Mar 14, 2019
1 parent 9976c70 commit ced9725
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,8 @@ private MetricNames() {
public static final String TASK_SLOTS_AVAILABLE = "taskSlotsAvailable";
public static final String TASK_SLOTS_TOTAL = "taskSlotsTotal";
public static final String NUM_REGISTERED_TASK_MANAGERS = "numRegisteredTaskManagers";

public static final String MEMORY_USED = "Used";
public static final String MEMORY_COMMITTED = "Committed";
public static final String MEMORY_MAX = "Max";
}
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
import org.apache.flink.runtime.clusterframework.BootstrapTools;
import org.apache.flink.runtime.io.network.NetworkEnvironment;
import org.apache.flink.runtime.io.network.buffer.NetworkBufferPool;
import org.apache.flink.runtime.metrics.MetricNames;
import org.apache.flink.runtime.metrics.MetricRegistry;
import org.apache.flink.runtime.metrics.groups.JobManagerMetricGroup;
import org.apache.flink.runtime.metrics.groups.TaskManagerMetricGroup;
Expand Down Expand Up @@ -62,6 +63,9 @@ public class MetricUtils {
private static final String METRIC_GROUP_STATUS_NAME = "Status";
private static final String METRICS_ACTOR_SYSTEM_NAME = "flink-metrics";

static final String METRIC_GROUP_HEAP_NAME = "Heap";
static final String METRIC_GROUP_NONHEAP_NAME = "NonHeap";

private MetricUtils() {
}

Expand Down Expand Up @@ -159,20 +163,8 @@ private static void instantiateGarbageCollectorMetrics(MetricGroup metrics) {
}

private static void instantiateMemoryMetrics(MetricGroup metrics) {
final MemoryUsage heapMemoryUsage = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();
final MemoryUsage nonHeapMemoryUsage = ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage();

MetricGroup heap = metrics.addGroup("Heap");

heap.<Long, Gauge<Long>>gauge("Used", heapMemoryUsage::getUsed);
heap.<Long, Gauge<Long>>gauge("Committed", heapMemoryUsage::getCommitted);
heap.<Long, Gauge<Long>>gauge("Max", heapMemoryUsage::getMax);

MetricGroup nonHeap = metrics.addGroup("NonHeap");

nonHeap.<Long, Gauge<Long>>gauge("Used", nonHeapMemoryUsage::getUsed);
nonHeap.<Long, Gauge<Long>>gauge("Committed", nonHeapMemoryUsage::getCommitted);
nonHeap.<Long, Gauge<Long>>gauge("Max", nonHeapMemoryUsage::getMax);
instantiateHeapMemoryMetrics(metrics.addGroup(METRIC_GROUP_HEAP_NAME));
instantiateNonHeapMemoryMetrics(metrics.addGroup(METRIC_GROUP_NONHEAP_NAME));

final MBeanServer con = ManagementFactory.getPlatformMBeanServer();

Expand Down Expand Up @@ -205,6 +197,20 @@ private static void instantiateMemoryMetrics(MetricGroup metrics) {
}
}

private static void instantiateHeapMemoryMetrics(final MetricGroup metricGroup) {
instantiateMemoryUsageMetrics(metricGroup, ManagementFactory.getMemoryMXBean().getHeapMemoryUsage());
}

private static void instantiateNonHeapMemoryMetrics(final MetricGroup metricGroup) {
instantiateMemoryUsageMetrics(metricGroup, ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage());
}

private static void instantiateMemoryUsageMetrics(final MetricGroup metricGroup, final MemoryUsage memoryUsage) {
metricGroup.<Long, Gauge<Long>>gauge(MetricNames.MEMORY_USED, memoryUsage::getUsed);
metricGroup.<Long, Gauge<Long>>gauge(MetricNames.MEMORY_COMMITTED, memoryUsage::getCommitted);
metricGroup.<Long, Gauge<Long>>gauge(MetricNames.MEMORY_MAX, memoryUsage::getMax);
}

private static void instantiateThreadMetrics(MetricGroup metrics) {
final ThreadMXBean mxBean = ManagementFactory.getThreadMXBean();

Expand Down

0 comments on commit ced9725

Please sign in to comment.