XComp commented on a change in pull request #13547:
URL: https://github.com/apache/flink/pull/13547#discussion_r506455567
##########
File path:
flink-runtime/src/test/java/org/apache/flink/runtime/taskexecutor/TaskManagerRunnerStartupTest.java
##########
@@ -159,6 +173,66 @@ public void testStartupWhenNetworkStackFailsToInitialize()
throws Exception {
}
}
+ /**
+ * Checks that all expected metrics are initialized.
+ */
+ @Test
+ public void testMetricInitialization() throws Exception {
+ Configuration cfg = createFlinkConfiguration();
+
+ List<String> registeredMetrics = new ArrayList<>();
+ startTaskManager(
+ cfg,
+ rpcService,
+ highAvailabilityServices,
+ TestingMetricRegistry.builder()
+ .setRegisterConsumer((metric, metricName,
group) -> registeredMetrics.add(group.getMetricIdentifier(metricName)))
+ .setScopeFormats(ScopeFormats.fromConfig(cfg))
+ .build());
+
+ Set<String> expectedTaskManagerMetrics = Sets.newHashSet(
+ "Status.JVM.ClassLoader.ClassesLoaded",
+ "Status.JVM.ClassLoader.ClassesUnloaded",
+ "Status.JVM.GarbageCollector.scavenge.Count",
+ "Status.JVM.GarbageCollector.scavenge.Time",
+ "Status.JVM.GarbageCollector.global.Count",
+ "Status.JVM.GarbageCollector.global.Time",
+ "Status.JVM.Memory.Heap.Used",
+ "Status.JVM.Memory.Heap.Committed",
+ "Status.JVM.Memory.Heap.Max",
+ "Status.JVM.Memory.NonHeap.Used",
+ "Status.JVM.Memory.NonHeap.Committed",
+ "Status.JVM.Memory.NonHeap.Max",
+ "Status.JVM.Memory.Direct.Count",
+ "Status.JVM.Memory.Direct.MemoryUsed",
+ "Status.JVM.Memory.Direct.TotalCapacity",
+ "Status.JVM.Memory.Mapped.Count",
+ "Status.JVM.Memory.Mapped.MemoryUsed",
+ "Status.JVM.Memory.Mapped.TotalCapacity",
+ "Status.JVM.Threads.Count",
+ "Status.JVM.CPU.Load",
+ "Status.JVM.CPU.Time",
+ "Status.Network.TotalMemorySegments",
+ "Status.Network.AvailableMemorySegments",
+ "Status.Shuffle.Netty.TotalMemorySegments",
+ "Status.Shuffle.Netty.TotalMemory",
+ "Status.Shuffle.Netty.AvailableMemorySegments",
+ "Status.Shuffle.Netty.AvailableMemory",
+ "Status.Shuffle.Netty.UsedMemorySegments",
+ "Status.Shuffle.Netty.UsedMemory",
+ "Status.ManagedMemory.Used",
+ "Status.ManagedMemory.Max"
+ );
+
+ assertThat(registeredMetrics.size(),
is(expectedTaskManagerMetrics.size()));
+ registeredMetrics.forEach(metric -> {
+ assertThat(metric, startsWith(".taskmanager."));
+ String metricSuffix =
metric.replaceAll("\\.taskmanager\\.[^.]+\\.", "");
Review comment:
There's a problem with the random TaskManager ID. The substring/regex
operations are solely to work around that. But fair enough: I switched to a
version using `everyItem` and `isIn` instead.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]