[ https://issues.apache.org/jira/browse/FLINK-4245?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15437183#comment-15437183 ]
ASF GitHub Bot commented on FLINK-4245: --------------------------------------- Github user StephanEwen commented on the issue: https://github.com/apache/flink/pull/2418 I think that works to expose the names. I was wondering, though, if we can have a more JMX-natural integration. The JMX `ObjectName` has the constructor `ObjectName(String domain, Hashtable<String,String> table)`. Rather than having `key1=taskmanager,key2=<hostname>,key3=<jobname>`, we could go for `domain=taskmanager.task.operator.io.numRecords` (no variable parsing) and `table={taskmanager=<tid>, hostname=<hostname>, jobid=<jid>, ...`. If I got the thoughts of some of the users right, that would be the preferred way for them. That probably contradicts the "configurable name" design we have for the other reporters, because the table and the formatted scope/name override each other (I think, not sure, not a JMX expert here). In the end, both approaches are probably valid and which one is more usable depends on the metric infrastructure of the users. So, if we cannot get both into the same reporter, should we simply have two JMX reporters? A "tag-based" (like discussed above) and a "name/scope-based" (like we have so far)? > 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)