Skip to content

Commit c96f8bc

Browse files
author
Mrod1598
authored
Add Hbase Support (#211)
* Add hbase * Spotless * Fix config test * fix timing * Remove extra metrics from read.me * Fix Units * fix files unit * Update units on doc * Update Docker container handling * Fix timing * Rename metric namespace * Add more operations metrics * Force rebuild * Spotless * Clean up environment file
1 parent 715b349 commit c96f8bc

File tree

8 files changed

+1059
-1
lines changed

8 files changed

+1059
-1
lines changed

jmx-metrics/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,15 @@ mutually exclusive with `otel.jmx.groovy.script`. The currently supported target
7171
| [`jvm`](./docs/target-systems/jvm.md) |
7272
| [`activemq`](./docs/target-systems/activemq.md) |
7373
| [`cassandra`](./docs/target-systems/cassandra.md) |
74+
| [`hbase`](./docs/target-systems/hbase.md) |
7475
| [`hadoop`](./docs/target-systems/hadoop.md) |
7576
| [`kafka`](./docs/target-systems/kafka.md) |
7677
| [`kafka-consumer`](./docs/target-systems/kafka-consumer.md) |
7778
| [`kafka-producer`](./docs/target-systems/kafka-producer.md) |
7879
| [`solr`](./docs/target-systems/solr.md) |
7980
| [`tomcat`](./docs/target-systems/tomcat.md) |
8081

82+
8183
### JMX Query Helpers
8284

8385
- `otel.queryJmx(String objectNameStr)`
Lines changed: 359 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,359 @@
1+
# Hbase Metrics
2+
3+
The JMX Metric Gatherer provides built in Hbase metric gathering capabilities.
4+
These metrics are sourced from: https://hbase.apache.org/book.html#hbase_metrics
5+
6+
### Metrics
7+
8+
* Name: `hbase.master.region_server.count`
9+
* Description: The number of region servers.
10+
* Unit: `{servers}`
11+
* Labels: `state`
12+
* Instrument Type: longUpDownCounter
13+
14+
15+
* Name: `hbase.master.regions_in_transition.count`
16+
* Description: The number of regions that are in transition.
17+
* Unit: `{regions}`
18+
* Instrument Type: longUpDownCounter
19+
20+
21+
* Name: `hbase.master.regions_in_transition.over_threshold`
22+
* Description: The number of regions that have been in transition longer than a threshold time.
23+
* Unit: `{regions}`
24+
* Instrument Type: longUpDownCounter
25+
26+
27+
* Name: `hbase.master.regions_in_transition.oldest_age`
28+
* Description: The age of the longest region in transition.
29+
* Unit: `ms`
30+
* Instrument Type: longValue
31+
32+
33+
* Name: `hbase.region_server.region.count`
34+
* Description: The number of regions hosted by the region server.
35+
* Unit: `{regions}`
36+
* Labels: `region_server`
37+
* Instrument Type: longUpDownCounter
38+
39+
40+
* Name: `hbase.region_server.disk.store_file.count`
41+
* Description: The number of store files on disk currently managed by the region server.
42+
* Unit: `{files}`
43+
* Labels: `region_server`
44+
* Instrument Type: longUpDownCounter
45+
46+
47+
* Name: `hbase.region_server.disk.store_file.size`
48+
* Description: Aggregate size of the store files on disk.
49+
* Unit: `By`
50+
* Labels: `region_server`
51+
* Instrument Type: longUpDownCounter
52+
53+
54+
* Name: `hbase.region_server.write_ahead_log.count`
55+
* Description: The number of write ahead logs not yet archived.
56+
* Unit: `{logs}`
57+
* Labels: `region_server`
58+
* Instrument Type: longUpDownCounter
59+
60+
61+
* Name: `hbase.region_server.request.count`
62+
* Description: The number of requests received.
63+
* Unit: `{requests}`
64+
* Labels: `region_server`, `state`
65+
* Instrument Type: longUpDownCounter
66+
67+
68+
* Name: `hbase.region_server.queue.length`
69+
* Description: The number of RPC handlers actively servicing requests.
70+
* Unit: `{handlers}`
71+
* Labels: `region_server`, `state`
72+
* Instrument Type: longUpDownCounter
73+
74+
75+
* Name: `hbase.region_server.blocked_update.time`
76+
* Description: Amount of time updates have been blocked so the memstore can be flushed.
77+
* Unit: `ms`
78+
* Labels: `region_server`
79+
* Instrument Type: longValue
80+
81+
82+
* Name: `hbase.region_server.block_cache.operation.count`
83+
* Description: Number of block cache hits/misses.
84+
* Unit: `{operations}`
85+
* Labels: `region_server`, `state`
86+
* Instrument Type: longValue
87+
88+
89+
* Name: `hbase.region_server.files.local`
90+
* Description: Percent of store file data that can be read from the local.
91+
* Unit: `%`
92+
* Labels: `region_server`
93+
* Instrument Type: longValue
94+
95+
96+
* Name: `hbase.region_server.operation.append.latency.p99`
97+
* Description: Append operation 99th Percentile latency.
98+
* Unit: `ms`
99+
* Labels: `region_server`
100+
* Instrument Type: longValue
101+
102+
103+
* Name: `hbase.region_server.operation.append.latency.max`
104+
* Description: Append operation max latency.
105+
* Unit: `ms`
106+
* Labels: `region_server`
107+
* Instrument Type: longValue
108+
109+
110+
* Name: `hbase.region_server.operation.append.latency.min`
111+
* Description: Append operation minimum latency.
112+
* Unit: `ms`
113+
* Labels: `region_server`
114+
* Instrument Type: longValue
115+
116+
117+
* Name: `hbase.region_server.operation.append.latency.mean`
118+
* Description: Append operation mean latency.
119+
* Unit: `ms`
120+
* Labels: `region_server`
121+
* Instrument Type: longValue
122+
123+
124+
* Name: `hbase.region_server.operation.append.latency.median`
125+
* Description: Append operation median latency.
126+
* Unit: `ms`
127+
* Labels: `region_server`
128+
* Instrument Type: longValue
129+
130+
131+
* Name: `hbase.region_server.operation.delete.latency.p99`
132+
* Description: Delete operation 99th Percentile latency.
133+
* Unit: `ms`
134+
* Labels: `region_server`
135+
* Instrument Type: longValue
136+
137+
138+
* Name: `hbase.region_server.operation.delete.latency.max`
139+
* Description: Delete operation max latency.
140+
* Unit: `ms`
141+
* Labels: `region_server`
142+
* Instrument Type: longValue
143+
144+
145+
* Name: `hbase.region_server.operation.delete.latency.min`
146+
* Description: Delete operation minimum latency.
147+
* Unit: `ms`
148+
* Labels: `region_server`
149+
* Instrument Type: longValue
150+
151+
152+
* Name: `hbase.region_server.operation.delete.latency.mean`
153+
* Description: Delete operation mean latency.
154+
* Unit: `ms`
155+
* Labels: `region_server`
156+
* Instrument Type: longValue
157+
158+
159+
* Name: `hbase.region_server.operation.delete.latency.median`
160+
* Description: Delete operation median latency.
161+
* Unit: `ms`
162+
* Labels: `region_server`
163+
* Instrument Type: longValue
164+
165+
166+
* Name: `hbase.region_server.operation.put.latency.p99`
167+
* Description: Put operation 99th Percentile latency.
168+
* Unit: `ms`
169+
* Labels: `region_server`
170+
* Instrument Type: longValue
171+
172+
173+
* Name: `hbase.region_server.operation.put.latency.max`
174+
* Description: Put operation max latency.
175+
* Unit: `ms`
176+
* Labels: `region_server`
177+
* Instrument Type: longValue
178+
179+
180+
* Name: `hbase.region_server.operation.put.latency.min`
181+
* Description: Put operation minimum latency.
182+
* Unit: `ms`
183+
* Labels: `region_server`
184+
* Instrument Type: longValue
185+
186+
187+
* Name: `hbase.region_server.operation.put.latency.mean`
188+
* Description: Put operation mean latency.
189+
* Unit: `ms`
190+
* Labels: `region_server`
191+
* Instrument Type: longValue
192+
193+
194+
* Name: `hbase.region_server.operation.put.latency.median`
195+
* Description: Put operation median latency.
196+
* Unit: `ms`
197+
* Labels: `region_server`
198+
* Instrument Type: longValue
199+
200+
201+
* Name: `hbase.region_server.operation.get.latency.p99`
202+
* Description: Get operation 99th Percentile latency.
203+
* Unit: `ms`
204+
* Labels: `region_server`
205+
* Instrument Type: longValue
206+
207+
208+
* Name: `hbase.region_server.operation.get.latency.max`
209+
* Description: Get operation max latency.
210+
* Unit: `ms`
211+
* Labels: `region_server`
212+
* Instrument Type: longValue
213+
214+
215+
* Name: `hbase.region_server.operation.get.latency.min`
216+
* Description: Get operation minimum latency.
217+
* Unit: `ms`
218+
* Labels: `region_server`
219+
* Instrument Type: longValue
220+
221+
222+
* Name: `hbase.region_server.operation.get.latency.mean`
223+
* Description: Get operation mean latency.
224+
* Unit: `ms`
225+
* Labels: `region_server`
226+
* Instrument Type: longValue
227+
228+
229+
* Name: `hbase.region_server.operation.get.latency.median`
230+
* Description: Get operation median latency.
231+
* Unit: `ms`
232+
* Labels: `region_server`
233+
* Instrument Type: longValue
234+
235+
236+
* Name: `hbase.region_server.operation.replay.latency.p99`
237+
* Description: Replay operation 99th Percentile latency.
238+
* Unit: `ms`
239+
* Labels: `region_server`
240+
* Instrument Type: longValue
241+
242+
243+
* Name: `hbase.region_server.operation.replay.latency.max`
244+
* Description: Replay operation max latency.
245+
* Unit: `ms`
246+
* Labels: `region_server`
247+
* Instrument Type: longValue
248+
249+
250+
* Name: `hbase.region_server.operation.replay.latency.min`
251+
* Description: Replay operation minimum latency.
252+
* Unit: `ms`
253+
* Labels: `region_server`
254+
* Instrument Type: longValue
255+
256+
257+
* Name: `hbase.region_server.operation.replay.latency.mean`
258+
* Description: Replay operation mean latency.
259+
* Unit: `ms`
260+
* Labels: `region_server`
261+
* Instrument Type: longValue
262+
263+
264+
* Name: `hbase.region_server.operation.replay.latency.median`
265+
* Description: Replay operation median latency.
266+
* Unit: `ms`
267+
* Labels: `region_server`
268+
* Instrument Type: longValue
269+
270+
271+
* Name: `hbase.region_server.operation.increment.latency.p99`
272+
* Description: Increment operation 99th Percentile latency.
273+
* Unit: `ms`
274+
* Labels: `region_server`
275+
* Instrument Type: longValue
276+
277+
278+
* Name: `hbase.region_server.operation.increment.latency.max`
279+
* Description: Increment operation max latency.
280+
* Unit: `ms`
281+
* Labels: `region_server`
282+
* Instrument Type: longValue
283+
284+
285+
* Name: `hbase.region_server.operation.increment.latency.min`
286+
* Description: Increment operation minimum latency.
287+
* Unit: `ms`
288+
* Labels: `region_server`
289+
* Instrument Type: longValue
290+
291+
292+
* Name: `hbase.region_server.operation.increment.latency.mean`
293+
* Description: Increment operation mean latency.
294+
* Unit: `ms`
295+
* Labels: `region_server`
296+
* Instrument Type: longValue
297+
298+
299+
* Name: `hbase.region_server.operation.increment.latency.median`
300+
* Description: Increment operation median latency.
301+
* Unit: `ms`
302+
* Labels: `region_server`
303+
* Instrument Type: longValue
304+
305+
306+
* Name: `hbase.region_server.operations.slow`
307+
* Description: Number of operations that took over 1000ms to complete.
308+
* Unit: `{operations}`
309+
* Labels: `region_server`, `operation`
310+
* Instrument Type: longUpDownCounter
311+
312+
313+
* Name: `hbase.region_server.open_connection.count`
314+
* Description: The number of open connections at the RPC layer.
315+
* Unit: `{connections}`
316+
* Labels: `region_server`
317+
* Instrument Type: longUpDownCounter
318+
319+
320+
* Name: `hbase.region_server.active_handler.count`
321+
* Description: The number of RPC handlers actively servicing requests.
322+
* Unit: `{handlers}`
323+
* Labels: `region_server`
324+
* Instrument Type: longUpDownCounter
325+
326+
327+
* Name: `hbase.region_server.queue.request.count`
328+
* Description: The number of currently enqueued requests.
329+
* Unit: `{requests}`
330+
* Labels: `region_server`, `state`
331+
* Instrument Type: longUpDownCounter
332+
333+
334+
* Name: `hbase.region_server.authentication.count`
335+
* Description: Number of client connection authentication failures/successes.
336+
* Unit: `{authentication requests}`
337+
* Labels: `region_server`, `state`
338+
* Instrument Type: longUpDownCounter
339+
340+
341+
* Name: `hbase.region_server.gc.time`
342+
* Description: Time spent in garbage collection.
343+
* Unit: `ms`
344+
* Labels: `region_server`
345+
* Instrument Type: longCounter
346+
347+
348+
* Name: `hbase.region_server.gc.young_gen.time`
349+
* Description: Time spent in garbage collection of the young generation.
350+
* Unit: `ms`
351+
* Labels: `region_server`
352+
* Instrument Type: longCounter
353+
354+
355+
* Name: `hbase.region_server.gc.old_gen.time`
356+
* Description: Time spent in garbage collection of the old generation.
357+
* Unit: `ms`
358+
* Labels: `region_server`
359+
* Instrument Type: longCounter

0 commit comments

Comments
 (0)