1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.regionserver;
20
21 import org.apache.hadoop.hbase.classification.InterfaceAudience;
22 import org.apache.hadoop.hbase.metrics.BaseSourceImpl;
23 import org.apache.hadoop.hbase.metrics.Interns;
24 import org.apache.hadoop.metrics2.MetricHistogram;
25 import org.apache.hadoop.metrics2.MetricsCollector;
26 import org.apache.hadoop.metrics2.MetricsRecordBuilder;
27 import org.apache.hadoop.metrics2.lib.MutableFastCounter;
28
29
30
31
32
33
34 @InterfaceAudience.Private
35 public class MetricsRegionServerSourceImpl
36 extends BaseSourceImpl implements MetricsRegionServerSource {
37
38 final MetricsRegionServerWrapper rsWrap;
39 private final MetricHistogram putHisto;
40 private final MetricHistogram putBatchHisto;
41 private final MetricHistogram deleteHisto;
42 private final MetricHistogram deleteBatchHisto;
43 private final MetricHistogram checkAndDeleteHisto;
44 private final MetricHistogram checkAndPutHisto;
45 private final MetricHistogram getHisto;
46 private final MetricHistogram incrementHisto;
47 private final MetricHistogram appendHisto;
48 private final MetricHistogram replayHisto;
49 private final MetricHistogram scanSizeHisto;
50 private final MetricHistogram scanTimeHisto;
51
52 private final MutableFastCounter slowPut;
53 private final MutableFastCounter slowDelete;
54 private final MutableFastCounter slowGet;
55 private final MutableFastCounter slowIncrement;
56 private final MutableFastCounter slowAppend;
57 private final MutableFastCounter splitRequest;
58 private final MutableFastCounter splitSuccess;
59
60 private final MetricHistogram splitTimeHisto;
61
62
63 private final MetricHistogram flushTimeHisto;
64 private final MetricHistogram flushMemstoreSizeHisto;
65 private final MetricHistogram flushOutputSizeHisto;
66 private final MutableFastCounter flushedMemstoreBytes;
67 private final MutableFastCounter flushedOutputBytes;
68
69
70 private final MetricHistogram compactionTimeHisto;
71 private final MetricHistogram compactionInputFileCountHisto;
72 private final MetricHistogram compactionInputSizeHisto;
73 private final MetricHistogram compactionOutputFileCountHisto;
74 private final MetricHistogram compactionOutputSizeHisto;
75 private final MutableFastCounter compactedInputBytes;
76 private final MutableFastCounter compactedOutputBytes;
77
78 private final MetricHistogram majorCompactionTimeHisto;
79 private final MetricHistogram majorCompactionInputFileCountHisto;
80 private final MetricHistogram majorCompactionInputSizeHisto;
81 private final MetricHistogram majorCompactionOutputFileCountHisto;
82 private final MetricHistogram majorCompactionOutputSizeHisto;
83 private final MutableFastCounter majorCompactedInputBytes;
84 private final MutableFastCounter majorCompactedOutputBytes;
85
86
87 private final MutableFastCounter infoPauseThresholdExceeded;
88 private final MutableFastCounter warnPauseThresholdExceeded;
89 private final MetricHistogram pausesWithGc;
90 private final MetricHistogram pausesWithoutGc;
91
92 public MetricsRegionServerSourceImpl(MetricsRegionServerWrapper rsWrap) {
93 this(METRICS_NAME, METRICS_DESCRIPTION, METRICS_CONTEXT, METRICS_JMX_CONTEXT, rsWrap);
94 }
95
96 public MetricsRegionServerSourceImpl(String metricsName,
97 String metricsDescription,
98 String metricsContext,
99 String metricsJmxContext,
100 MetricsRegionServerWrapper rsWrap) {
101 super(metricsName, metricsDescription, metricsContext, metricsJmxContext);
102 this.rsWrap = rsWrap;
103
104 putHisto = getMetricsRegistry().newTimeHistogram(PUT_KEY);
105 putBatchHisto = getMetricsRegistry().newTimeHistogram(PUT_BATCH_KEY);
106 slowPut = getMetricsRegistry().newCounter(SLOW_PUT_KEY, SLOW_PUT_DESC, 0L);
107
108 deleteHisto = getMetricsRegistry().newTimeHistogram(DELETE_KEY);
109 slowDelete = getMetricsRegistry().newCounter(SLOW_DELETE_KEY, SLOW_DELETE_DESC, 0L);
110
111 deleteBatchHisto = getMetricsRegistry().newTimeHistogram(DELETE_BATCH_KEY);
112 checkAndDeleteHisto = getMetricsRegistry().newTimeHistogram(CHECK_AND_DELETE_KEY);
113 checkAndPutHisto = getMetricsRegistry().newTimeHistogram(CHECK_AND_PUT_KEY);
114
115 getHisto = getMetricsRegistry().newTimeHistogram(GET_KEY);
116 slowGet = getMetricsRegistry().newCounter(SLOW_GET_KEY, SLOW_GET_DESC, 0L);
117
118 incrementHisto = getMetricsRegistry().newTimeHistogram(INCREMENT_KEY);
119 slowIncrement = getMetricsRegistry().newCounter(SLOW_INCREMENT_KEY, SLOW_INCREMENT_DESC, 0L);
120
121 appendHisto = getMetricsRegistry().newTimeHistogram(APPEND_KEY);
122 slowAppend = getMetricsRegistry().newCounter(SLOW_APPEND_KEY, SLOW_APPEND_DESC, 0L);
123
124 replayHisto = getMetricsRegistry().newTimeHistogram(REPLAY_KEY);
125 scanSizeHisto = getMetricsRegistry().newSizeHistogram(SCAN_SIZE_KEY);
126 scanTimeHisto = getMetricsRegistry().newTimeHistogram(SCAN_TIME_KEY);
127
128 flushTimeHisto = getMetricsRegistry().newTimeHistogram(FLUSH_TIME, FLUSH_TIME_DESC);
129 flushMemstoreSizeHisto = getMetricsRegistry()
130 .newSizeHistogram(FLUSH_MEMSTORE_SIZE, FLUSH_MEMSTORE_SIZE_DESC);
131 flushOutputSizeHisto = getMetricsRegistry().newSizeHistogram(FLUSH_OUTPUT_SIZE,
132 FLUSH_OUTPUT_SIZE_DESC);
133 flushedOutputBytes = getMetricsRegistry().newCounter(FLUSHED_OUTPUT_BYTES,
134 FLUSHED_OUTPUT_BYTES_DESC, 0L);
135 flushedMemstoreBytes = getMetricsRegistry().newCounter(FLUSHED_MEMSTORE_BYTES,
136 FLUSHED_MEMSTORE_BYTES_DESC, 0L);
137
138 compactionTimeHisto = getMetricsRegistry()
139 .newTimeHistogram(COMPACTION_TIME, COMPACTION_TIME_DESC);
140 compactionInputFileCountHisto = getMetricsRegistry()
141 .newHistogram(COMPACTION_INPUT_FILE_COUNT, COMPACTION_INPUT_FILE_COUNT_DESC);
142 compactionInputSizeHisto = getMetricsRegistry()
143 .newSizeHistogram(COMPACTION_INPUT_SIZE, COMPACTION_INPUT_SIZE_DESC);
144 compactionOutputFileCountHisto = getMetricsRegistry()
145 .newHistogram(COMPACTION_OUTPUT_FILE_COUNT, COMPACTION_OUTPUT_FILE_COUNT_DESC);
146 compactionOutputSizeHisto = getMetricsRegistry()
147 .newSizeHistogram(COMPACTION_OUTPUT_SIZE, COMPACTION_OUTPUT_SIZE_DESC);
148 compactedInputBytes = getMetricsRegistry()
149 .newCounter(COMPACTED_INPUT_BYTES, COMPACTED_INPUT_BYTES_DESC, 0L);
150 compactedOutputBytes = getMetricsRegistry()
151 .newCounter(COMPACTED_OUTPUT_BYTES, COMPACTED_OUTPUT_BYTES_DESC, 0L);
152
153 majorCompactionTimeHisto = getMetricsRegistry()
154 .newTimeHistogram(MAJOR_COMPACTION_TIME, MAJOR_COMPACTION_TIME_DESC);
155 majorCompactionInputFileCountHisto = getMetricsRegistry()
156 .newHistogram(MAJOR_COMPACTION_INPUT_FILE_COUNT, MAJOR_COMPACTION_INPUT_FILE_COUNT_DESC);
157 majorCompactionInputSizeHisto = getMetricsRegistry()
158 .newSizeHistogram(MAJOR_COMPACTION_INPUT_SIZE, MAJOR_COMPACTION_INPUT_SIZE_DESC);
159 majorCompactionOutputFileCountHisto = getMetricsRegistry()
160 .newHistogram(MAJOR_COMPACTION_OUTPUT_FILE_COUNT, MAJOR_COMPACTION_OUTPUT_FILE_COUNT_DESC);
161 majorCompactionOutputSizeHisto = getMetricsRegistry()
162 .newSizeHistogram(MAJOR_COMPACTION_OUTPUT_SIZE, MAJOR_COMPACTION_OUTPUT_SIZE_DESC);
163 majorCompactedInputBytes = getMetricsRegistry()
164 .newCounter(MAJOR_COMPACTED_INPUT_BYTES, MAJOR_COMPACTED_INPUT_BYTES_DESC, 0L);
165 majorCompactedOutputBytes = getMetricsRegistry()
166 .newCounter(MAJOR_COMPACTED_OUTPUT_BYTES, MAJOR_COMPACTED_OUTPUT_BYTES_DESC, 0L);
167
168 splitTimeHisto = getMetricsRegistry().newTimeHistogram(SPLIT_KEY);
169 splitRequest = getMetricsRegistry().newCounter(SPLIT_REQUEST_KEY, SPLIT_REQUEST_DESC, 0L);
170 splitSuccess = getMetricsRegistry().newCounter(SPLIT_SUCCESS_KEY, SPLIT_SUCCESS_DESC, 0L);
171
172
173 infoPauseThresholdExceeded = getMetricsRegistry().newCounter(INFO_THRESHOLD_COUNT_KEY,
174 INFO_THRESHOLD_COUNT_DESC, 0L);
175 warnPauseThresholdExceeded = getMetricsRegistry().newCounter(WARN_THRESHOLD_COUNT_KEY,
176 WARN_THRESHOLD_COUNT_DESC, 0L);
177 pausesWithGc = getMetricsRegistry().newTimeHistogram(PAUSE_TIME_WITH_GC_KEY);
178 pausesWithoutGc = getMetricsRegistry().newTimeHistogram(PAUSE_TIME_WITHOUT_GC_KEY);
179 }
180
181 @Override
182 public void updatePut(long t) {
183 putHisto.add(t);
184 }
185
186 @Override
187 public void updateDelete(long t) {
188 deleteHisto.add(t);
189 }
190
191 @Override
192 public void updateGet(long t) {
193 getHisto.add(t);
194 }
195
196 @Override
197 public void updateIncrement(long t) {
198 incrementHisto.add(t);
199 }
200
201 @Override
202 public void updateAppend(long t) {
203 appendHisto.add(t);
204 }
205
206 @Override
207 public void updateReplay(long t) {
208 replayHisto.add(t);
209 }
210
211 @Override
212 public void updateScanSize(long scanSize) {
213 scanSizeHisto.add(scanSize);
214 }
215
216 @Override
217 public void updateScanTime(long t) {
218 scanTimeHisto.add(t);
219 }
220
221 @Override
222 public void incrSlowPut() {
223 slowPut.incr();
224 }
225
226 @Override
227 public void incrSlowDelete() {
228 slowDelete.incr();
229 }
230
231 @Override
232 public void incrSlowGet() {
233 slowGet.incr();
234 }
235
236 @Override
237 public void incrSlowIncrement() {
238 slowIncrement.incr();
239 }
240
241 @Override
242 public void incrSlowAppend() {
243 slowAppend.incr();
244 }
245
246 @Override
247 public void incrSplitRequest() {
248 splitRequest.incr();
249 }
250
251 @Override
252 public void incrSplitSuccess() {
253 splitSuccess.incr();
254 }
255
256 @Override
257 public void updateSplitTime(long t) {
258 splitTimeHisto.add(t);
259 }
260
261 @Override
262 public void updateFlushTime(long t) {
263 flushTimeHisto.add(t);
264 }
265
266 @Override
267 public void updateFlushMemstoreSize(long bytes) {
268 flushMemstoreSizeHisto.add(bytes);
269 flushedMemstoreBytes.incr(bytes);
270 }
271
272 @Override
273 public void updateFlushOutputSize(long bytes) {
274 flushOutputSizeHisto.add(bytes);
275 flushedOutputBytes.incr(bytes);
276 }
277
278 @Override
279 public void updateCompactionTime(boolean isMajor, long t) {
280 compactionTimeHisto.add(t);
281 if (isMajor) {
282 majorCompactionTimeHisto.add(t);
283 }
284 }
285
286 @Override
287 public void updateCompactionInputFileCount(boolean isMajor, long c) {
288 compactionInputFileCountHisto.add(c);
289 if (isMajor) {
290 majorCompactionInputFileCountHisto.add(c);
291 }
292 }
293
294 @Override
295 public void updateCompactionInputSize(boolean isMajor, long bytes) {
296 compactionInputSizeHisto.add(bytes);
297 compactedInputBytes.incr(bytes);
298 if (isMajor) {
299 majorCompactionInputSizeHisto.add(bytes);
300 majorCompactedInputBytes.incr(bytes);
301 }
302 }
303
304 @Override
305 public void updateCompactionOutputFileCount(boolean isMajor, long c) {
306 compactionOutputFileCountHisto.add(c);
307 if (isMajor) {
308 majorCompactionOutputFileCountHisto.add(c);
309 }
310 }
311
312 @Override
313 public void updateCompactionOutputSize(boolean isMajor, long bytes) {
314 compactionOutputSizeHisto.add(bytes);
315 compactedOutputBytes.incr(bytes);
316 if (isMajor) {
317 majorCompactionOutputSizeHisto.add(bytes);
318 majorCompactedOutputBytes.incr(bytes);
319 }
320 }
321
322
323
324
325
326
327
328
329
330 @Override
331 public void getMetrics(MetricsCollector metricsCollector, boolean all) {
332
333 MetricsRecordBuilder mrb = metricsCollector.addRecord(metricsName);
334
335
336 if (rsWrap != null) {
337 mrb.addGauge(Interns.info(REGION_COUNT, REGION_COUNT_DESC), rsWrap.getNumOnlineRegions())
338 .addGauge(Interns.info(STORE_COUNT, STORE_COUNT_DESC), rsWrap.getNumStores())
339 .addGauge(Interns.info(WALFILE_COUNT, WALFILE_COUNT_DESC), rsWrap.getNumWALFiles())
340 .addGauge(Interns.info(WALFILE_SIZE, WALFILE_SIZE_DESC), rsWrap.getWALFileSize())
341 .addGauge(Interns.info(STOREFILE_COUNT, STOREFILE_COUNT_DESC), rsWrap.getNumStoreFiles())
342 .addGauge(Interns.info(MEMSTORE_SIZE, MEMSTORE_SIZE_DESC), rsWrap.getMemstoreSize())
343 .addGauge(Interns.info(STOREFILE_SIZE, STOREFILE_SIZE_DESC), rsWrap.getStoreFileSize())
344 .addGauge(Interns.info(MAX_STORE_FILE_AGE, MAX_STORE_FILE_AGE_DESC),
345 rsWrap.getMaxStoreFileAge())
346 .addGauge(Interns.info(MIN_STORE_FILE_AGE, MIN_STORE_FILE_AGE_DESC),
347 rsWrap.getMinStoreFileAge())
348 .addGauge(Interns.info(AVG_STORE_FILE_AGE, AVG_STORE_FILE_AGE_DESC),
349 rsWrap.getAvgStoreFileAge())
350 .addGauge(Interns.info(NUM_REFERENCE_FILES, NUM_REFERENCE_FILES_DESC),
351 rsWrap.getNumReferenceFiles())
352 .addGauge(Interns.info(RS_START_TIME_NAME, RS_START_TIME_DESC),
353 rsWrap.getStartCode())
354 .addGauge(Interns.info(AVERAGE_REGION_SIZE, AVERAGE_REGION_SIZE_DESC), rsWrap.getAverageRegionSize())
355 .addCounter(Interns.info(TOTAL_REQUEST_COUNT, TOTAL_REQUEST_COUNT_DESC),
356 rsWrap.getTotalRequestCount())
357 .addCounter(Interns.info(TOTAL_ROW_ACTION_REQUEST_COUNT, TOTAL_ROW_ACTION_REQUEST_COUNT_DESC),
358 rsWrap.getTotalRowActionRequestCount())
359 .addCounter(Interns.info(READ_REQUEST_COUNT, READ_REQUEST_COUNT_DESC),
360 rsWrap.getReadRequestsCount())
361 .addCounter(Interns.info(WRITE_REQUEST_COUNT, WRITE_REQUEST_COUNT_DESC),
362 rsWrap.getWriteRequestsCount())
363 .addCounter(Interns.info(RPC_GET_REQUEST_COUNT, RPC_GET_REQUEST_COUNT_DESC),
364 rsWrap.getRpcGetRequestsCount())
365 .addCounter(Interns.info(RPC_SCAN_REQUEST_COUNT, RPC_SCAN_REQUEST_COUNT_DESC),
366 rsWrap.getRpcScanRequestsCount())
367 .addCounter(Interns.info(RPC_MULTI_REQUEST_COUNT, RPC_MULTI_REQUEST_COUNT_DESC),
368 rsWrap.getRpcMultiRequestsCount())
369 .addCounter(Interns.info(RPC_MUTATE_REQUEST_COUNT, RPC_MUTATE_REQUEST_COUNT_DESC),
370 rsWrap.getRpcMutateRequestsCount())
371 .addCounter(Interns.info(CHECK_MUTATE_FAILED_COUNT, CHECK_MUTATE_FAILED_COUNT_DESC),
372 rsWrap.getCheckAndMutateChecksFailed())
373 .addCounter(Interns.info(CHECK_MUTATE_PASSED_COUNT, CHECK_MUTATE_PASSED_COUNT_DESC),
374 rsWrap.getCheckAndMutateChecksPassed())
375 .addGauge(Interns.info(STOREFILE_INDEX_SIZE, STOREFILE_INDEX_SIZE_DESC),
376 rsWrap.getStoreFileIndexSize())
377 .addGauge(Interns.info(STATIC_INDEX_SIZE, STATIC_INDEX_SIZE_DESC),
378 rsWrap.getTotalStaticIndexSize())
379 .addGauge(Interns.info(STATIC_BLOOM_SIZE, STATIC_BLOOM_SIZE_DESC),
380 rsWrap.getTotalStaticBloomSize())
381 .addGauge(
382 Interns.info(NUMBER_OF_MUTATIONS_WITHOUT_WAL, NUMBER_OF_MUTATIONS_WITHOUT_WAL_DESC),
383 rsWrap.getNumMutationsWithoutWAL())
384 .addGauge(Interns.info(DATA_SIZE_WITHOUT_WAL, DATA_SIZE_WITHOUT_WAL_DESC),
385 rsWrap.getDataInMemoryWithoutWAL())
386 .addGauge(Interns.info(PERCENT_FILES_LOCAL, PERCENT_FILES_LOCAL_DESC),
387 rsWrap.getPercentFileLocal())
388 .addGauge(Interns.info(PERCENT_FILES_LOCAL_SECONDARY_REGIONS,
389 PERCENT_FILES_LOCAL_SECONDARY_REGIONS_DESC),
390 rsWrap.getPercentFileLocalSecondaryRegions())
391 .addGauge(Interns.info(SPLIT_QUEUE_LENGTH, SPLIT_QUEUE_LENGTH_DESC),
392 rsWrap.getSplitQueueSize())
393 .addGauge(Interns.info(COMPACTION_QUEUE_LENGTH, COMPACTION_QUEUE_LENGTH_DESC),
394 rsWrap.getCompactionQueueSize())
395 .addGauge(Interns.info(SMALL_COMPACTION_QUEUE_LENGTH, SMALL_COMPACTION_QUEUE_LENGTH_DESC),
396 rsWrap.getSmallCompactionQueueSize())
397 .addGauge(Interns.info(LARGE_COMPACTION_QUEUE_LENGTH, LARGE_COMPACTION_QUEUE_LENGTH_DESC),
398 rsWrap.getLargeCompactionQueueSize())
399 .addGauge(Interns.info(FLUSH_QUEUE_LENGTH, FLUSH_QUEUE_LENGTH_DESC),
400 rsWrap.getFlushQueueSize())
401
402 .addGauge(Interns.info(BLOCK_CACHE_FREE_SIZE, BLOCK_CACHE_FREE_DESC),
403 rsWrap.getBlockCacheFreeSize())
404 .addGauge(Interns.info(BLOCK_CACHE_COUNT, BLOCK_CACHE_COUNT_DESC),
405 rsWrap.getBlockCacheCount())
406 .addGauge(Interns.info(BLOCK_CACHE_SIZE, BLOCK_CACHE_SIZE_DESC),
407 rsWrap.getBlockCacheSize())
408 .addCounter(Interns.info(BLOCK_CACHE_HIT_COUNT, BLOCK_CACHE_HIT_COUNT_DESC),
409 rsWrap.getBlockCacheHitCount())
410 .addCounter(Interns.info(BLOCK_CACHE_PRIMARY_HIT_COUNT,
411 BLOCK_CACHE_PRIMARY_HIT_COUNT_DESC), rsWrap.getBlockCachePrimaryHitCount())
412 .addCounter(Interns.info(BLOCK_CACHE_MISS_COUNT, BLOCK_COUNT_MISS_COUNT_DESC),
413 rsWrap.getBlockCacheMissCount())
414 .addCounter(Interns.info(BLOCK_CACHE_PRIMARY_MISS_COUNT,
415 BLOCK_COUNT_PRIMARY_MISS_COUNT_DESC), rsWrap.getBlockCachePrimaryMissCount())
416 .addCounter(Interns.info(BLOCK_CACHE_EVICTION_COUNT, BLOCK_CACHE_EVICTION_COUNT_DESC),
417 rsWrap.getBlockCacheEvictedCount())
418 .addCounter(Interns.info(BLOCK_CACHE_PRIMARY_EVICTION_COUNT,
419 BLOCK_CACHE_PRIMARY_EVICTION_COUNT_DESC), rsWrap.getBlockCachePrimaryEvictedCount())
420 .addGauge(Interns.info(BLOCK_CACHE_HIT_PERCENT, BLOCK_CACHE_HIT_PERCENT_DESC),
421 rsWrap.getBlockCacheHitPercent())
422 .addGauge(Interns.info(BLOCK_CACHE_EXPRESS_HIT_PERCENT,
423 BLOCK_CACHE_EXPRESS_HIT_PERCENT_DESC), rsWrap.getBlockCacheHitCachingPercent())
424 .addCounter(Interns.info(BLOCK_CACHE_FAILED_INSERTION_COUNT,
425 BLOCK_CACHE_FAILED_INSERTION_COUNT_DESC),rsWrap.getBlockCacheFailedInsertions())
426 .addCounter(Interns.info(BLOCK_CACHE_DATA_MISS_COUNT, ""), rsWrap.getDataMissCount())
427 .addCounter(Interns.info(BLOCK_CACHE_LEAF_INDEX_MISS_COUNT, ""),
428 rsWrap.getLeafIndexMissCount())
429 .addCounter(Interns.info(BLOCK_CACHE_BLOOM_CHUNK_MISS_COUNT, ""),
430 rsWrap.getBloomChunkMissCount())
431 .addCounter(Interns.info(BLOCK_CACHE_META_MISS_COUNT, ""), rsWrap.getMetaMissCount())
432 .addCounter(Interns.info(BLOCK_CACHE_ROOT_INDEX_MISS_COUNT, ""),
433 rsWrap.getRootIndexMissCount())
434 .addCounter(Interns.info(BLOCK_CACHE_INTERMEDIATE_INDEX_MISS_COUNT, ""),
435 rsWrap.getIntermediateIndexMissCount())
436 .addCounter(Interns.info(BLOCK_CACHE_FILE_INFO_MISS_COUNT, ""),
437 rsWrap.getFileInfoMissCount())
438 .addCounter(Interns.info(BLOCK_CACHE_GENERAL_BLOOM_META_MISS_COUNT, ""),
439 rsWrap.getGeneralBloomMetaMissCount())
440 .addCounter(Interns.info(BLOCK_CACHE_DELETE_FAMILY_BLOOM_MISS_COUNT, ""),
441 rsWrap.getDeleteFamilyBloomMissCount())
442 .addCounter(Interns.info(BLOCK_CACHE_TRAILER_MISS_COUNT, ""),
443 rsWrap.getTrailerMissCount())
444 .addCounter(Interns.info(BLOCK_CACHE_DATA_HIT_COUNT, ""), rsWrap.getDataHitCount())
445 .addCounter(Interns.info(BLOCK_CACHE_LEAF_INDEX_HIT_COUNT, ""),
446 rsWrap.getLeafIndexHitCount())
447 .addCounter(Interns.info(BLOCK_CACHE_BLOOM_CHUNK_HIT_COUNT, ""),
448 rsWrap.getBloomChunkHitCount())
449 .addCounter(Interns.info(BLOCK_CACHE_META_HIT_COUNT, ""), rsWrap.getMetaHitCount())
450 .addCounter(Interns.info(BLOCK_CACHE_ROOT_INDEX_HIT_COUNT, ""),
451 rsWrap.getRootIndexHitCount())
452 .addCounter(Interns.info(BLOCK_CACHE_INTERMEDIATE_INDEX_HIT_COUNT, ""),
453 rsWrap.getIntermediateIndexHitCount())
454 .addCounter(Interns.info(BLOCK_CACHE_FILE_INFO_HIT_COUNT, ""),
455 rsWrap.getFileInfoHitCount())
456 .addCounter(Interns.info(BLOCK_CACHE_GENERAL_BLOOM_META_HIT_COUNT, ""),
457 rsWrap.getGeneralBloomMetaHitCount())
458 .addCounter(Interns.info(BLOCK_CACHE_DELETE_FAMILY_BLOOM_HIT_COUNT, ""),
459 rsWrap.getDeleteFamilyBloomHitCount())
460 .addCounter(Interns.info(BLOCK_CACHE_TRAILER_HIT_COUNT, ""), rsWrap.getTrailerHitCount())
461 .addGauge(Interns.info(L1_CACHE_HIT_COUNT, L1_CACHE_HIT_COUNT_DESC),
462 rsWrap.getL1CacheHitCount())
463 .addGauge(Interns.info(L1_CACHE_MISS_COUNT, L1_CACHE_MISS_COUNT_DESC),
464 rsWrap.getL1CacheMissCount())
465 .addGauge(Interns.info(L1_CACHE_HIT_RATIO, L1_CACHE_HIT_RATIO_DESC),
466 rsWrap.getL1CacheHitRatio())
467 .addGauge(Interns.info(L1_CACHE_MISS_RATIO, L1_CACHE_MISS_RATIO_DESC),
468 rsWrap.getL1CacheMissRatio())
469 .addGauge(Interns.info(L2_CACHE_HIT_COUNT, L2_CACHE_HIT_COUNT_DESC),
470 rsWrap.getL2CacheHitCount())
471 .addGauge(Interns.info(L2_CACHE_MISS_COUNT, L2_CACHE_MISS_COUNT_DESC),
472 rsWrap.getL2CacheMissCount())
473 .addGauge(Interns.info(L2_CACHE_HIT_RATIO, L2_CACHE_HIT_RATIO_DESC),
474 rsWrap.getL2CacheHitRatio())
475 .addGauge(Interns.info(L2_CACHE_MISS_RATIO, L2_CACHE_MISS_RATIO_DESC),
476 rsWrap.getL2CacheMissRatio())
477 .addCounter(Interns.info(UPDATES_BLOCKED_TIME, UPDATES_BLOCKED_DESC),
478 rsWrap.getUpdatesBlockedTime())
479 .addCounter(Interns.info(FLUSHED_CELLS, FLUSHED_CELLS_DESC),
480 rsWrap.getFlushedCellsCount())
481 .addCounter(Interns.info(COMPACTED_CELLS, COMPACTED_CELLS_DESC),
482 rsWrap.getCompactedCellsCount())
483 .addCounter(Interns.info(MAJOR_COMPACTED_CELLS, MAJOR_COMPACTED_CELLS_DESC),
484 rsWrap.getMajorCompactedCellsCount())
485 .addCounter(Interns.info(FLUSHED_CELLS_SIZE, FLUSHED_CELLS_SIZE_DESC),
486 rsWrap.getFlushedCellsSize())
487 .addCounter(Interns.info(COMPACTED_CELLS_SIZE, COMPACTED_CELLS_SIZE_DESC),
488 rsWrap.getCompactedCellsSize())
489 .addCounter(Interns.info(MAJOR_COMPACTED_CELLS_SIZE, MAJOR_COMPACTED_CELLS_SIZE_DESC),
490 rsWrap.getMajorCompactedCellsSize())
491 .addCounter(Interns.info(BLOCKED_REQUESTS_COUNT, BLOCKED_REQUESTS_COUNT_DESC),
492 rsWrap.getBlockedRequestsCount())
493 .tag(Interns.info(ZOOKEEPER_QUORUM_NAME, ZOOKEEPER_QUORUM_DESC),
494 rsWrap.getZookeeperQuorum())
495 .tag(Interns.info(SERVER_NAME_NAME, SERVER_NAME_DESC), rsWrap.getServerName())
496 .tag(Interns.info(CLUSTER_ID_NAME, CLUSTER_ID_DESC), rsWrap.getClusterId());
497
498 }
499
500 metricsRegistry.snapshot(mrb, all);
501
502
503 if (metricsAdapter != null) {
504
505 metricsAdapter.snapshotAllMetrics(registry, mrb);
506 }
507 }
508
509 @Override
510 public void incInfoThresholdExceeded(int count) {
511 infoPauseThresholdExceeded.incr(count);
512 }
513
514 @Override
515 public void incWarnThresholdExceeded(int count) {
516 warnPauseThresholdExceeded.incr(count);
517 }
518
519 @Override
520 public void updatePauseTimeWithGc(long t) {
521 pausesWithGc.add(t);
522 }
523
524 @Override
525 public void updatePauseTimeWithoutGc(long t) {
526 pausesWithoutGc.add(t);
527 }
528
529 @Override
530 public void updateDeleteBatch(long t) {
531 deleteBatchHisto.add(t);
532 }
533
534 @Override
535 public void updateCheckAndDelete(long t) {
536 checkAndDeleteHisto.add(t);
537 }
538
539 @Override
540 public void updateCheckAndPut(long t) {
541 checkAndPutHisto.add(t);
542 }
543
544 @Override
545 public void updatePutBatch(long t) {
546 putBatchHisto.add(t);
547 }
548 }