[ https://issues.apache.org/jira/browse/FLINK-4245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15608752#comment-15608752 ]
ASF GitHub Bot commented on FLINK-4245: --------------------------------------- Github user StephanEwen commented on a diff in the pull request: https://github.com/apache/flink/pull/2418#discussion_r85145059 --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/AbstractMetricGroup.java --- @@ -112,6 +116,43 @@ public AbstractMetricGroup(MetricRegistry registry, String[] scope, A parent) { } /** + * 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, Character delimiter) { --- End diff -- Can this be a primitive `char`? > Metric naming improvements > -------------------------- > > Key: FLINK-4245 > URL: https://issues.apache.org/jira/browse/FLINK-4245 > Project: Flink > Issue Type: Improvement > Components: Metrics > Reporter: Stephan Ewen > > A metric currently has two parts to it: > - The name of that particular metric > - The "scope" (or namespace), defined by the group that contains the metric. > A metric group actually always implicitly has a map of naming "tags", like: > - taskmanager_host : <some-hostname> > - taskmanager_id : <id> > - task_name : "map() -> filter()" > We derive the scope from that map, following the defined scope formats. > For JMX (and some users that use JMX), it would be natural to expose that map > of tags. Some users reconstruct that map by parsing the metric scope. JMX, we > can expose a metric like: > - domain: "taskmanager.task.operator.io" > - name: "numRecordsIn" > - tags: { "hostname" -> "localhost", "operator_name" -> "map() at > X.java:123", ... } > For many other reporters, the formatted scope makes a lot of sense, since > they think only in terms of (scope, metric-name). > We may even have the formatted scope in JMX as well (in the domain), if we > want to go that route. > [~jgrier] and [~Zentol] - what do you think about that? > [~mdaxini] Does that match your use of the metrics? -- This message was sent by Atlassian JIRA (v6.3.4#6332)