> impl
return variables;
}
+ /**
+ * Returns the logical scope of this group, for example
+ * {@code "taskmanager.job.task"}
+ *
+ * @param filter character filter which is applied to the scope components
+ * @return logical scope
+ */
+ public String getLogicalScope(CharacterFilter filter) {
+ return getLogicalScope(filter, registry.getDelimiter());
+ }
+
+ /**
+ * Returns the logical scope of this group, for example
+ * {@code "taskmanager.job.task"}
+ *
+ * @param filter character filter which is applied to the scope components
+ * @return logical scope
+ */
+ public String getLogicalScope(CharacterFilter filter, char delimiter) {
+ if (logicalScopeString == null) {
+ if (parent == null) {
+ logicalScopeString = getGroupName(filter);
+ } else {
+ logicalScopeString = parent.getLogicalScope(filter, delimiter) + delimiter + getGroupName(filter);
+ }
+ }
+ return logicalScopeString;
+ }
+
+ /**
+ * Returns the name for this group, meaning what kind of entity it represents, for example "taskmanager".
+ *
+ * @param filter character filter which is applied to the name
+ * @return logical name for this group
+ */
+ protected abstract String getGroupName(CharacterFilter filter);
+
/**
* Gets the scope as an array of the scope components, for example
* {@code ["host-7", "taskmanager-2", "window_word_count", "my-mapper"]}
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/FrontMetricGroup.java b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/FrontMetricGroup.java
index 885e6d6db193d7e60e08730c19d203b32f7432a0..63842fef9d66e56f9f7e1dfe3b675adb7fe27f1c 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/FrontMetricGroup.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/FrontMetricGroup.java
@@ -46,4 +46,12 @@ public class FrontMetricGroup> extends ProxyMet
public String getMetricIdentifier(String metricName, CharacterFilter filter) {
return parentMetricGroup.getMetricIdentifier(metricName, filter, this.reporterIndex);
}
+
+ public String getLogicalScope(CharacterFilter filter) {
+ return parentMetricGroup.getLogicalScope(filter);
+ }
+
+ public String getLogicalScope(CharacterFilter filter, char delimiter) {
+ return parentMetricGroup.getLogicalScope(filter, delimiter);
+ }
}
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/GenericMetricGroup.java b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/GenericMetricGroup.java
index 54fbed46765bd5af893cd60f47353e0d3f1bc8d9..5978f2d950f3644c38d75d7fed229a45109aadbb 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/GenericMetricGroup.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/GenericMetricGroup.java
@@ -56,4 +56,9 @@ public class GenericMetricGroup extends AbstractMetricGroup subComponents() {
return jobs.values();
}
+
+ @Override
+ protected String getGroupName(CharacterFilter filter) {
+ return "jobmanager";
+ }
}
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/JobMetricGroup.java b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/JobMetricGroup.java
index 091807f5bcc7196dcc411b4920f6f8fdf4052ae2..17f6189102299c75e5fe64dfac3b71ad694f0ef4 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/JobMetricGroup.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/JobMetricGroup.java
@@ -81,4 +81,9 @@ public abstract class JobMetricGroup> extends
variables.put(ScopeFormat.SCOPE_JOB_ID, jobId.toString());
variables.put(ScopeFormat.SCOPE_JOB_NAME, jobName);
}
+
+ @Override
+ protected String getGroupName(CharacterFilter filter) {
+ return "job";
+ }
}
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/OperatorMetricGroup.java b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/OperatorMetricGroup.java
index 0c823ea8ab546fe648baa25dfbf2124a07f2f170..37c9dd83004005591fa279130dc8201ef0eb4ef1 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/OperatorMetricGroup.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/OperatorMetricGroup.java
@@ -83,4 +83,9 @@ public class OperatorMetricGroup extends ComponentMetricGroup {
protected Iterable extends ComponentMetricGroup> subComponents() {
return Collections.emptyList();
}
+
+ @Override
+ protected String getGroupName(CharacterFilter filter) {
+ return "operator";
+ }
}
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/TaskManagerMetricGroup.java b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/TaskManagerMetricGroup.java
index a8fa82825610a2ec934e780c434c54986705c469..c3ca5fe1ea6e07b40bc82fc5a5d7e22a85421fae 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/TaskManagerMetricGroup.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/TaskManagerMetricGroup.java
@@ -135,5 +135,10 @@ public class TaskManagerMetricGroup extends ComponentMetricGroup subComponents() {
return jobs.values();
}
+
+ @Override
+ protected String getGroupName(CharacterFilter filter) {
+ return "taskmanager";
+ }
}
diff --git a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/TaskMetricGroup.java b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/TaskMetricGroup.java
index 75b8bd86cc5b71dedde9dcdb29192344156a72f3..43e8e1ba0c4b51b1d13c3d0ab9d14733a23dd821 100644
--- a/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/TaskMetricGroup.java
+++ b/flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/TaskMetricGroup.java
@@ -169,4 +169,9 @@ public class TaskMetricGroup extends ComponentMetricGroup subComponents() {
return operators.values();
}
+
+ @Override
+ protected String getGroupName(CharacterFilter filter) {
+ return "task";
+ }
}
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/metrics/groups/AbstractMetricGroupTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/metrics/groups/AbstractMetricGroupTest.java
index ca3810a81b85c694fa3ada1d1669f876691cecb6..c7b392fa7df6bac0d448aa04c5cc8de6d9a6cf6f 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/metrics/groups/AbstractMetricGroupTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/metrics/groups/AbstractMetricGroupTest.java
@@ -39,6 +39,11 @@ public class AbstractMetricGroupTest {
protected QueryScopeInfo createQueryServiceMetricInfo(CharacterFilter filter) {
return null;
}
+
+ @Override
+ protected String getGroupName(CharacterFilter filter) {
+ return "";
+ }
};
assertTrue(group.getAllVariables().isEmpty());
diff --git a/flink-runtime/src/test/java/org/apache/flink/runtime/metrics/groups/MetricGroupTest.java b/flink-runtime/src/test/java/org/apache/flink/runtime/metrics/groups/MetricGroupTest.java
index 8a1a006bf595069da73ad574aa78c00c2ebc6f01..665abb1defb8c3e24c3a8f29d01b41e793c08ec1 100644
--- a/flink-runtime/src/test/java/org/apache/flink/runtime/metrics/groups/MetricGroupTest.java
+++ b/flink-runtime/src/test/java/org/apache/flink/runtime/metrics/groups/MetricGroupTest.java
@@ -176,6 +176,11 @@ public class MetricGroupTest extends TestLogger {
return null;
}
+ @Override
+ protected String getGroupName(CharacterFilter filter) {
+ return "";
+ }
+
@Override
protected void addMetric(String name, Metric metric) {}
diff --git a/flink-streaming-connectors/flink-connector-kafka-base/src/test/java/org/apache/flink/streaming/connectors/kafka/KafkaConsumerTestBase.java b/flink-streaming-connectors/flink-connector-kafka-base/src/test/java/org/apache/flink/streaming/connectors/kafka/KafkaConsumerTestBase.java
index 7b06cfd95936e1dea420562d08b73f4d5baf96a4..aa7ea49da646b0c4c04ab8709f9b71aa0c9dcb44 100644
--- a/flink-streaming-connectors/flink-connector-kafka-base/src/test/java/org/apache/flink/streaming/connectors/kafka/KafkaConsumerTestBase.java
+++ b/flink-streaming-connectors/flink-connector-kafka-base/src/test/java/org/apache/flink/streaming/connectors/kafka/KafkaConsumerTestBase.java
@@ -1504,13 +1504,13 @@ public abstract class KafkaConsumerTestBase extends KafkaTestBase {
// connect to JMX
MBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
// wait until we've found all 5 offset metrics
- Set offsetMetrics = mBeanServer.queryNames(new ObjectName("*:key7=current-offsets,*"), null);
+ Set offsetMetrics = mBeanServer.queryNames(new ObjectName("*current-offsets*:*"), null);
while (offsetMetrics.size() < 5) { // test will time out if metrics are not properly working
if (error.f0 != null) {
// fail test early
throw error.f0;
}
- offsetMetrics = mBeanServer.queryNames(new ObjectName("*:key7=current-offsets,*"), null);
+ offsetMetrics = mBeanServer.queryNames(new ObjectName("*current-offsets*:*"), null);
Thread.sleep(50);
}
Assert.assertEquals(5, offsetMetrics.size());
@@ -1534,7 +1534,7 @@ public abstract class KafkaConsumerTestBase extends KafkaTestBase {
}
// check if producer metrics are also available.
- Set producerMetrics = mBeanServer.queryNames(new ObjectName("*:key6=KafkaProducer,*"), null);
+ Set producerMetrics = mBeanServer.queryNames(new ObjectName("*KafkaProducer*:*"), null);
Assert.assertTrue("No producer metrics found", producerMetrics.size() > 30);