Skip to content

Commit 04b06e0

Browse files
HBASE-23996 add metric for the split wal procedure
1 parent bf473e5 commit 04b06e0

4 files changed

Lines changed: 25 additions & 1 deletion

File tree

hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSource.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ public interface MetricsMasterSource extends BaseSource {
9292
String OFFLINE_REGION_COUNT_DESC = "Number of Offline Regions";
9393

9494
String SERVER_CRASH_METRIC_PREFIX = "serverCrash";
95+
String SPLIT_WAL_METRIC_PREFIX = "splitWAL";
9596
String OLD_WAL_DIR_SIZE_DESC = "size of old WALs directory in bytes";
9697

9798
/**
@@ -114,4 +115,7 @@ public interface MetricsMasterSource extends BaseSource {
114115

115116
/** Returns {@link OperationMetrics} containing common metrics for server crash operation */
116117
OperationMetrics getServerCrashMetrics();
118+
119+
/** Returns {@link OperationMetrics} containing common metrics for split WAL operation */
120+
OperationMetrics getSplitWALMetrics();
117121
}

hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public class MetricsMasterSourceImpl extends BaseSourceImpl implements MetricsMa
3939
private MutableFastCounter clusterWriteRequestsCounter;
4040

4141
private OperationMetrics serverCrashMetrics;
42+
private OperationMetrics splitWALMetrics;
4243

4344
public MetricsMasterSourceImpl(MetricsMasterWrapper masterWrapper) {
4445
this(METRICS_NAME, METRICS_DESCRIPTION, METRICS_CONTEXT, METRICS_JMX_CONTEXT, masterWrapper);
@@ -64,6 +65,7 @@ public void init() {
6465
* BaseSourceImpl#registry} to register the new metrics.
6566
*/
6667
serverCrashMetrics = new OperationMetrics(registry, SERVER_CRASH_METRIC_PREFIX);
68+
splitWALMetrics = new OperationMetrics(registry, SPLIT_WAL_METRIC_PREFIX);
6769
}
6870

6971
@Override
@@ -144,4 +146,9 @@ public void getMetrics(MetricsCollector metricsCollector, boolean all) {
144146
public OperationMetrics getServerCrashMetrics() {
145147
return serverCrashMetrics;
146148
}
149+
150+
@Override
151+
public OperationMetrics getSplitWALMetrics() {
152+
return splitWALMetrics;
153+
}
147154
}

hbase-server/src/main/java/org/apache/hadoop/hbase/master/MetricsMaster.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public class MetricsMaster {
4343
private MetricsMasterQuotaSource masterQuotaSource;
4444

4545
private ProcedureMetrics serverCrashProcMetrics;
46+
private ProcedureMetrics splitWALProcMetrics;
4647

4748
public MetricsMaster(MetricsMasterWrapper masterWrapper) {
4849
masterSource = CompatibilitySingletonFactory.getInstance(MetricsMasterSourceFactory.class)
@@ -53,6 +54,7 @@ public MetricsMaster(MetricsMasterWrapper masterWrapper) {
5354
.getInstance(MetricsMasterQuotaSourceFactory.class).create(masterWrapper);
5455

5556
serverCrashProcMetrics = convertToProcedureMetrics(masterSource.getServerCrashMetrics());
57+
splitWALProcMetrics = convertToProcedureMetrics(masterSource.getSplitWALMetrics());
5658
}
5759

5860
// for unit-test usage
@@ -130,11 +132,16 @@ public void incrementQuotaObserverTime(final long executionTime) {
130132
masterQuotaSource.incrementSpaceQuotaObserverChoreTime(executionTime);
131133
}
132134

133-
/** Returns Set of metrics for assign procedure */
135+
/** Returns Set of metrics for server crash procedure */
134136
public ProcedureMetrics getServerCrashProcMetrics() {
135137
return serverCrashProcMetrics;
136138
}
137139

140+
/** Returns Set of metrics for split WAL procedure */
141+
public ProcedureMetrics getSplitWALProcMetrics() {
142+
return splitWALProcMetrics;
143+
}
144+
138145
/**
139146
* This is utility function that converts {@link OperationMetrics} to {@link ProcedureMetrics}.
140147
* NOTE: Procedure framework in hbase-procedure module accesses metrics common to most procedures

hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/SplitWALProcedure.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.apache.hadoop.fs.Path;
2222
import org.apache.hadoop.hbase.ServerName;
2323
import org.apache.hadoop.hbase.master.SplitWALManager;
24+
import org.apache.hadoop.hbase.procedure2.ProcedureMetrics;
2425
import org.apache.hadoop.hbase.procedure2.ProcedureStateSerializer;
2526
import org.apache.hadoop.hbase.procedure2.ProcedureSuspendedException;
2627
import org.apache.hadoop.hbase.procedure2.ProcedureUtil;
@@ -193,6 +194,11 @@ protected void afterReplay(MasterProcedureEnv env) {
193194
}
194195
}
195196

197+
@Override
198+
protected ProcedureMetrics getProcedureMetrics(MasterProcedureEnv env) {
199+
return env.getMasterServices().getMasterMetrics().getSplitWALProcMetrics();
200+
}
201+
196202
@Override
197203
protected void toStringClassDetails(StringBuilder builder) {
198204
builder.append(getProcName());

0 commit comments

Comments
 (0)