[ https://issues.apache.org/jira/browse/HBASE-17716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15895019#comment-15895019 ]
stack commented on HBASE-17716: ------------------------------- bq. Are the scan metrics in MBeans for all the scans or are they per scan level? All scans. Not per scan for sure. You want per scan (I suppose so, yeah, makes sense). What is weird here is that this metrics is NOT available via JMX. bq. We could have metric names defined as public static final String too with their declarations annotated with the @Metric annotation to tell HBase developers not to change these names This seems like a good idea to me. It'd be cleanup on our part recognizing that metric names are not internals-only. On @Metric, chatting w/ coworker, how about we just used our current InterfaceAudience annotations? A metric name is probably inside a class that is stamped as Private. We'd annotate the static final name as InterfaceAudience.Public. I could add a type so we could actually write @InterfaceAudience.Public(HBaseInterfaceAudience.METRIC) so it would be clear why we have this String in the middle of an internal class as public. My coworker ([~jmhsieh]) suggested that not all metrics would get this stamping, just those we know for sure should never change -- the ones folks depend on -- and other metrics might get a LimitedPrivate stamping (or as is currently allowed, no stamping means PRIVATE). Would something like this work [~samarth.j...@gmail.com]? If so, I'll go shop it up on dev list and then we can change this patch to implement? I'll skip the enum thing. There are benefits but minimal and we could attack these in another issue? > Formalize Scan Metric names > --------------------------- > > Key: HBASE-17716 > URL: https://issues.apache.org/jira/browse/HBASE-17716 > Project: HBase > Issue Type: Bug > Components: metrics > Reporter: Karan Mehta > Assignee: Karan Mehta > Priority: Minor > Attachments: HBASE-17716.patch > > > HBase provides various metrics through the API's exposed by ScanMetrics > class. > The JIRA PHOENIX-3248 requires them to be surfaced through the Phoenix > Metrics API. Currently these metrics are referred via hard-coded strings, > which are not formal and can break the Phoenix API. Hence we need to refactor > the code to assign enums for these metrics. -- This message was sent by Atlassian JIRA (v6.3.15#6346)