[ 
https://issues.apache.org/jira/browse/HBASE-17716?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15893661#comment-15893661
 ] 

stack commented on HBASE-17716:
-------------------------------

bq.  I am guessing the dump in JMX or metrics page is probably just some 
aggregated info so may not be useful for us.

Nah. This is our mechanism for publishing metrics. Phoenix could read the 
MBeans. That'd have it so you were relying on 'public' Interface rather than 
hbase internals.

We could add rules around metric evolution like those we have on our APIs so 
downstreamers could have something to rely on if that'd help.

bq. We would like to have these metric names as constants to provide users 
capability of looking up metrics of their choice via static metric names.
bq. It could very well be strings defined as public static final . 

This makes sense. We should do this for sure. If it inconvenient for you to get 
access, we should clean house. Looking, it looks like metrics are scattered all 
around. We could define the names as static final and then perhaps annotate 
them as metrics names so easy to find and so they'd be demarked as 'public', 
not for change?

bq. With enums though we can use an EnumMap which is more performant and 
compact as compared to a HashMap.

So, enums. Is the above the only advantage you see to enum'ing all of our 
metrics? Its minor, no? (EnumMap and HashMap both extend AbstractMap -- enum 
has advantage hashing since fixed set). You have some perf stats to go along w/ 
above? And would this be just for the way phoenix accesses the metrics or could 
hbase benefit too?

Thanks.





> 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)

Reply via email to