[
https://issues.apache.org/jira/browse/HBASE-20654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16492669#comment-16492669
]
liubangchen edited comment on HBASE-20654 at 5/28/18 1:28 PM:
--------------------------------------------------------------
expose metrics like this:
{code}
{
"name" : "Hadoop:service=HBase,name=Master,sub=AssignmentManger",
"modelerType" : "Master,sub=AssignmentManger",
"tag.Context" : "master",
"tag.Hostname" : "10.59.168.84",
"ritOldestAge" : 0,
"ritCount" : 0,
"tag.RegionState.Namespace_Tablename_Regiona":"OFFLINE",
"tag.RegionState.Namespace_Tablename_Regionb":"OPEN",
"tag.RegionState.Namespace_Tablename_Regionc":"CLOSED",
...
{code}
Code implementation:
1. Add a method to class MetricsAssignmentManagerSource
{code:java}
void updateRegionState(String regionname,String state);
{code}
2. Add a method to class MetricsAssignmentManagerSourceImpl
{code:java}
@Override
public void updateRegionState(String regionname,String state){
metricsRegistry.tag(regionname,"",state,true);
}
{code}
3. Add a method to class MetricsAssignmentManager
{code:java}
public void updateRegionState(String regionname,String state){
assignmentManagerSource.updateRegionState(regionname,state);
}
{code}
4. Modify the updateRegionsInTransitionMetrics method of class
AssignmentManager and add the parameter name
hbase.assignment.metric.regionstate.maxmum.expose to control the maximum number
of exports
[[email protected]] What's your opinion?
was (Author: liubangchen):
expose metrics like this:
{code:json}
{
"name" : "Hadoop:service=HBase,name=Master,sub=AssignmentManger",
"modelerType" : "Master,sub=AssignmentManger",
"tag.Context" : "master",
"tag.Hostname" : "10.59.168.84",
"ritOldestAge" : 0,
"ritCount" : 0,
"tag.RegionState.Namespace_Tablename_Regiona":" "OFFLINE",
"tag.RegionState.Namespace_Tablename_Regionb":" "OPEN",
"tag.RegionState.Namespace_Tablename_Regionc":" "CLOSED",
...
{code}
Code implementation:
1. Add a method to class MetricsAssignmentManagerSource
{code:java}
void updateRegionState(String regionname,String state);
{code}
2. Add a method to class MetricsAssignmentManagerSourceImpl
{code:java}
@Override
public void updateRegionState(String regionname,String state){
metricsRegistry.tag(regionname,"",state,true);
}
{code}
3. Add a method to class MetricsAssignmentManager
{code:java}
public void updateRegionState(String regionname,String state){
assignmentManagerSource.updateRegionState(regionname,state);
}
{code}
4. Modify the updateRegionsInTransitionMetrics method of class
AssignmentManager and add the parameter name
hbase.assignment.metric.regionstate.maxmum.expose to control the maximum number
of exports
[[email protected]] What's your opinion?
> Expose regions in transition thru JMX
> -------------------------------------
>
> Key: HBASE-20654
> URL: https://issues.apache.org/jira/browse/HBASE-20654
> Project: HBase
> Issue Type: Improvement
> Reporter: Ted Yu
> Assignee: liubangchen
> Priority: Major
>
> Currently only the count of regions in transition is exposed thru JMX.
> Here is a sample snippet of the /jmx output:
> {code}
> {
> "beans" : [ {
> ...
> }, {
> "name" : "Hadoop:service=HBase,name=Master,sub=AssignmentManager",
> "modelerType" : "Master,sub=AssignmentManager",
> "tag.Context" : "master",
> ...
> "ritCount" : 3
> {code}
> It would be desirable to expose region name, state for the regions in
> transition as well.
> We can place configurable upper bound on the number of entries returned in
> case there're a lot of regions in transition.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)