1 /**
2 * Licensed to the Apache Software Foundation (ASF) under one
3 * or more contributor license agreements. See the NOTICE file
4 * distributed with this work for additional information
5 * regarding copyright ownership. The ASF licenses this file
6 * to you under the Apache License, Version 2.0 (the
7 * "License"); you may not use this file except in compliance
8 * with the License. You may obtain a copy of the License at
9 *
10 * http://www.apache.org/licenses/LICENSE-2.0
11 *
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 */
18
19 package org.apache.hadoop.hbase.regionserver;
20
21 /**
22 * This is the interface that will expose RegionServer information to hadoop1/hadoop2
23 * implementations of the MetricsRegionServerSource.
24 */
25 public interface MetricsRegionServerWrapper {
26
27 /**
28 * Get ServerName
29 */
30 String getServerName();
31
32 /**
33 * Get the Cluster ID
34 *
35 * @return Cluster ID
36 */
37 String getClusterId();
38
39 /**
40 * Get the Zookeeper Quorum Info
41 *
42 * @return Zookeeper Quorum Info
43 */
44 String getZookeeperQuorum();
45
46 /**
47 * Get the co-processors
48 *
49 * @return Co-processors
50 */
51 String getCoprocessors();
52
53 /**
54 * Get HRegionServer start time
55 *
56 * @return Start time of RegionServer in milliseconds
57 */
58 long getStartCode();
59
60 /**
61 * The number of online regions
62 */
63 long getNumOnlineRegions();
64
65 /**
66 * Get the number of stores hosted on this region server.
67 */
68 long getNumStores();
69
70 /**
71 * Get the number of WAL files of this region server.
72 */
73 public long getNumWALFiles();
74
75 /**
76 * Get the size of WAL files of this region server.
77 */
78 public long getWALFileSize();
79
80 /**
81 * Get the number of store files hosted on this region server.
82 */
83 long getNumStoreFiles();
84
85 /**
86 * Get the size of the memstore on this region server.
87 */
88 long getMemstoreSize();
89
90 /**
91 * Get the total size of the store files this region server is serving from.
92 */
93 long getStoreFileSize();
94
95 /**
96 * @return Max age of store files hosted on this region server
97 */
98 long getMaxStoreFileAge();
99
100 /**
101 * @return Min age of store files hosted on this region server
102 */
103 long getMinStoreFileAge();
104
105 /**
106 * @return Average age of store files hosted on this region server
107 */
108 long getAvgStoreFileAge();
109
110 /**
111 * @return Number of reference files on this region server
112 */
113 long getNumReferenceFiles();
114
115 /**
116 * Get the number of requests per second.
117 */
118 double getRequestsPerSecond();
119
120 /**
121 * Get the total number of requests per second.
122 */
123 long getTotalRequestCount();
124
125 /**
126 * Get the number of read requests to regions hosted on this region server.
127 */
128 long getReadRequestsCount();
129
130 /**
131 * Get the number of write requests to regions hosted on this region server.
132 */
133 long getWriteRequestsCount();
134
135 /**
136 * Get the rate of read requests per second to regions hosted on this region server.
137 */
138 double getReadRequestsRate();
139
140 /**
141 * Get the rate of write requests per second to regions hosted on this region server.
142 */
143 double getWriteRequestsRate();
144
145 /**
146 * Get the number of CAS operations that failed.
147 */
148 long getCheckAndMutateChecksFailed();
149
150 /**
151 * Get the number of CAS operations that passed.
152 */
153 long getCheckAndMutateChecksPassed();
154
155 /**
156 * Get the Size (in bytes) of indexes in storefiles on disk.
157 */
158 long getStoreFileIndexSize();
159
160 /**
161 * Get the size (in bytes) of of the static indexes including the roots.
162 */
163 long getTotalStaticIndexSize();
164
165 /**
166 * Get the size (in bytes) of the static bloom filters.
167 */
168 long getTotalStaticBloomSize();
169
170 /**
171 * Number of mutations received with WAL explicitly turned off.
172 */
173 long getNumMutationsWithoutWAL();
174
175 /**
176 * Ammount of data in the memstore but not in the WAL because mutations explicitly had their
177 * WAL turned off.
178 */
179 long getDataInMemoryWithoutWAL();
180
181 /**
182 * Get the percent of HFiles' that are local.
183 */
184 double getPercentFileLocal();
185
186 /**
187 * Get the percent of HFiles' that are local for secondary region replicas.
188 */
189 double getPercentFileLocalSecondaryRegions();
190
191 /**
192 * Get the size of the split queue
193 */
194 int getSplitQueueSize();
195
196 /**
197 * Get the size of the compaction queue
198 */
199 int getCompactionQueueSize();
200
201 int getSmallCompactionQueueSize();
202
203 int getLargeCompactionQueueSize();
204
205 /**
206 * Get the size of the flush queue.
207 */
208 int getFlushQueueSize();
209
210 /**
211 * Get the size (in bytes) of the block cache that is free.
212 */
213 long getBlockCacheFreeSize();
214
215 /**
216 * Get the number of items in the block cache.
217 */
218 long getBlockCacheCount();
219
220 /**
221 * Get the total size (in bytes) of the block cache.
222 */
223 long getBlockCacheSize();
224
225 /**
226 * Get the count of hits to the block cache
227 */
228 long getBlockCacheHitCount();
229
230 /**
231 * Get the count of hits to primary replica in the block cache
232 */
233 long getBlockCachePrimaryHitCount();
234
235 /**
236 * Get the count of misses to the block cache.
237 */
238 long getBlockCacheMissCount();
239
240 /**
241 * Get the count of misses to primary replica in the block cache.
242 */
243 long getBlockCachePrimaryMissCount();
244
245 /**
246 * Get the number of items evicted from the block cache.
247 */
248 long getBlockCacheEvictedCount();
249
250 /**
251 * Get the number of items evicted from primary replica in the block cache.
252 */
253 long getBlockCachePrimaryEvictedCount();
254
255
256 /**
257 * Get the percent of all requests that hit the block cache.
258 */
259 double getBlockCacheHitPercent();
260
261 /**
262 * Get the percent of requests with the block cache turned on that hit the block cache.
263 */
264 double getBlockCacheHitCachingPercent();
265
266 /**
267 * Number of cache insertions that failed.
268 */
269 long getBlockCacheFailedInsertions();
270
271 /**
272 * Hit count of L1 cache.
273 */
274 public long getL1CacheHitCount();
275
276 /**
277 * Miss count of L1 cache.
278 */
279 public long getL1CacheMissCount();
280
281 /**
282 * Hit ratio of L1 cache.
283 */
284 public double getL1CacheHitRatio();
285
286 /**
287 * Miss ratio of L1 cache.
288 */
289 public double getL1CacheMissRatio();
290
291 /**
292 * Hit count of L2 cache.
293 */
294 public long getL2CacheHitCount();
295
296 /**
297 * Miss count of L2 cache.
298 */
299 public long getL2CacheMissCount();
300
301 /**
302 * Hit ratio of L2 cache.
303 */
304 public double getL2CacheHitRatio();
305
306 /**
307 * Miss ratio of L2 cache.
308 */
309 public double getL2CacheMissRatio();
310
311 /**
312 * Force a re-computation of the metrics.
313 */
314 void forceRecompute();
315
316 /**
317 * Get the amount of time that updates were blocked.
318 */
319 long getUpdatesBlockedTime();
320
321 /**
322 * Get the number of cells flushed to disk.
323 */
324 long getFlushedCellsCount();
325
326 /**
327 * Get the number of cells processed during minor compactions.
328 */
329 long getCompactedCellsCount();
330
331 /**
332 * Get the number of cells processed during major compactions.
333 */
334 long getMajorCompactedCellsCount();
335
336 /**
337 * Get the total amount of data flushed to disk, in bytes.
338 */
339 long getFlushedCellsSize();
340
341 /**
342 * Get the total amount of data processed during minor compactions, in bytes.
343 */
344 long getCompactedCellsSize();
345
346 /**
347 * Get the total amount of data processed during major compactions, in bytes.
348 */
349 long getMajorCompactedCellsSize();
350
351 /**
352 * @return Count of hedged read operations
353 */
354 long getHedgedReadOps();
355
356 /**
357 * @return Count of times a hedged read beat out the primary read.
358 */
359 long getHedgedReadWins();
360
361 /**
362 * @return Count of times a hedged read executes in current thread
363 */
364 long getHedgedReadOpsInCurThread();
365
366 /**
367 * @return Number of total bytes read from HDFS.
368 */
369 long getTotalBytesRead();
370
371 /**
372 * @return Number of bytes read from the local HDFS DataNode.
373 */
374 long getLocalBytesRead();
375
376 /**
377 * @return Number of bytes read locally through HDFS short circuit.
378 */
379 long getShortCircuitBytesRead();
380
381 /**
382 * @return Number of bytes read locally through HDFS zero copy.
383 */
384 long getZeroCopyBytesRead();
385
386 /**
387 * @return Count of requests blocked because the memstore size is larger than blockingMemStoreSize
388 */
389 long getBlockedRequestsCount();
390
391 /**
392 * Get the number of rpc get requests to this region server.
393 */
394 long getRpcGetRequestsCount();
395
396 /**
397 * Get the number of rpc scan requests to this region server.
398 */
399 long getRpcScanRequestsCount();
400
401 /**
402 * Get the number of rpc multi requests to this region server.
403 */
404 long getRpcMultiRequestsCount();
405
406 /**
407 * Get the number of rpc mutate requests to this region server.
408 */
409 long getRpcMutateRequestsCount();
410
411 /**
412 * Get the average region size to this region server.
413 */
414 long getAverageRegionSize();
415
416 long getDataMissCount();
417
418 long getLeafIndexMissCount();
419
420 long getBloomChunkMissCount();
421
422 long getMetaMissCount();
423
424 long getRootIndexMissCount();
425
426 long getIntermediateIndexMissCount();
427
428 long getFileInfoMissCount();
429
430 long getGeneralBloomMetaMissCount();
431
432 long getDeleteFamilyBloomMissCount();
433
434 long getTrailerMissCount();
435
436 long getDataHitCount();
437
438 long getLeafIndexHitCount();
439
440 long getBloomChunkHitCount();
441
442 long getMetaHitCount();
443
444 long getRootIndexHitCount();
445
446 long getIntermediateIndexHitCount();
447
448 long getFileInfoHitCount();
449
450 long getGeneralBloomMetaHitCount();
451
452 long getDeleteFamilyBloomHitCount();
453
454 long getTrailerHitCount();
455
456 long getTotalRowActionRequestCount();
457 }