Skip to content

Commit 0c1b99b

Browse files
authored
Feature/issue7 metric name description resolves #7 (#59)
* Test adding images * added images with predefined size, extended TOC * Update readme.md - metrics naming description changed TOC structure, added naming conventrion, basic table structure for domian, subdomain, units description. * Filled domains and subdomains table * Additional info form untis description * Filled units table with data * Additional description to "hundredths"
1 parent 542b095 commit 0c1b99b

File tree

3 files changed

+247
-32
lines changed

3 files changed

+247
-32
lines changed

README.md

Lines changed: 247 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -13,32 +13,37 @@ Prometheus exporter for IBM MQ, written in Java. Exposes API of IBM MQ and syste
1313
- [Running exporter as mq service](#running-exporter-as-mq-service)
1414
- [Running exporter as standalone java application](#running-exporter-as-standalone-java-application)
1515
2. [Metrics](#metrics)
16-
- [Platform central processing units](#platform-central-processing-units)
17-
- [CPU performance - platform wide](#cpu-performance---platform-wide)
18-
- [CPU performance - running queue manager](#cpu-performance---running-queue-manager)
19-
- [Platform persistent data stores](#platform-persistent-data-stores)
20-
- [Disk usage - platform wide](#disk-usage---platform-wide)
21-
- [Disk usage - running queue managers](#disk-usage---running-queue-managers)
22-
- [Disk usage - queue manager recovery log](#disk-usage---queue-manager-recovery-log)
23-
- [API usage statistics](#api-usage-statistics)
24-
- [MQCONN and MQDISC](#mqconn-and-mqdisc)
25-
- [MQOPEN and MQCLOSE](#mqopen-and-mqclose)
26-
- [MQINQ and MQSET](#mqinq-and-mqset)
27-
- [MQPUT](#mqput)
28-
- [MQGET](#mqget)
29-
- [Commit and rollback](#commit-and-rollback)
30-
- [Subscribe](#subscribe)
31-
- [Publish](#publish)
32-
- [API per-queue usage statistics](#api-per-queue-usage-statistics)
33-
- [MQOPEN and MQCLOSE](#mqopen-and-mqclose-1)
34-
- [MQINQ and MQSET](#mqinq-and-mqset-1)
35-
- [MQPUT and MQPUT1](#mqput-and-mqput1)
36-
- [MQGET](#mqget-1)
37-
- [MQ PCF API specific statistics](#mq-pcf-api-specific-statistics)
38-
- [PCF requests](#pcf-requests)
39-
- [MQ constants mapping](#mq-constants-mapping)
40-
- [Channel status mapping](#channel-status-mapping)
41-
- [Listener status mapping](#listener-status-mapping)
16+
- [Metrics naming convention](#metrics-naming-convention)
17+
- [Understanding metrics names](#understanding-metrics-names)
18+
- [Domains and subdomains](#domains-and-subdomains)
19+
- [Units](#units)
20+
- [Metrics list](#metrics-list)
21+
- [Platform central processing units](#platform-central-processing-units)
22+
- [CPU performance - platform wide](#cpu-performance---platform-wide)
23+
- [CPU performance - running queue manager](#cpu-performance---running-queue-manager)
24+
- [Platform persistent data stores](#platform-persistent-data-stores)
25+
- [Disk usage - platform wide](#disk-usage---platform-wide)
26+
- [Disk usage - running queue managers](#disk-usage---running-queue-managers)
27+
- [Disk usage - queue manager recovery log](#disk-usage---queue-manager-recovery-log)
28+
- [API usage statistics](#api-usage-statistics)
29+
- [MQCONN and MQDISC](#mqconn-and-mqdisc)
30+
- [MQOPEN and MQCLOSE](#mqopen-and-mqclose)
31+
- [MQINQ and MQSET](#mqinq-and-mqset)
32+
- [MQPUT](#mqput)
33+
- [MQGET](#mqget)
34+
- [Commit and rollback](#commit-and-rollback)
35+
- [Subscribe](#subscribe)
36+
- [Publish](#publish)
37+
- [API per-queue usage statistics](#api-per-queue-usage-statistics)
38+
- [MQOPEN and MQCLOSE](#mqopen-and-mqclose-1)
39+
- [MQINQ and MQSET](#mqinq-and-mqset-1)
40+
- [MQPUT and MQPUT1](#mqput-and-mqput1)
41+
- [MQGET](#mqget-1)
42+
- [MQ PCF API specific statistics](#mq-pcf-api-specific-statistics)
43+
- [PCF requests](#pcf-requests)
44+
- [MQ constants mapping](#mq-constants-mapping)
45+
- [Channel status mapping](#channel-status-mapping)
46+
- [Listener status mapping](#listener-status-mapping)
4247
3. [Issues and Contributions](#issues-and-contributions)
4348
4. [Known issues](#known-issues)
4449
5. [Warning](#warning)
@@ -174,7 +179,217 @@ It is recommended way of running the exporter. **Note**: all commands
174179
The only input parameter is the path to your configuration file.
175180

176181
## Metrics
177-
#### Platform central processing units
182+
#### Metrics naming convention
183+
###### Understanding metrics names
184+
All metrics have predefined structure: domain, subdomain, name, units:
185+
186+
<img src="/docs/images/metric_naming_example_1.png" data-canonical-src="/docs/images/metric_naming_example_1.png" width="554" height="120" />
187+
188+
- **Domain** - the first single-word prefix that represents a metric type. The examples of domain-level prefixes are: system, mq, mqobject and etc. More information can be found in ["Domains and subdomains" section](#domains-and-subdomains).
189+
- **Subdomain** - second single-word prefix representation of a metric type. It provides more specific information about metric type and helps to differentiate metrics in a single domain. The examples of subdomain-level prefixes are: cpu, ram, put, subscribe, get and etc. More information can be found in ["Domains and subdomains" section](#domains-and-subdomains).
190+
- **Units** - single-word suffix describing the metric's unit, in plural form. Note that an accumulating count has "total" as the first part of a suffix. The examples of unit suffixes are: percentage, hundredths, messages, totalmessages and etc. More information can be found in ["Units" section](#units).
191+
- **Name** - represents metric meaning. The examples of a metric name are: cpu_time, cpu_load_fifteen_minute_average, failed_mqget_count and etc. Note that the amount of words in a metric name can vary:
192+
193+
<img src="/docs/images/metric_naming_example_2.png" data-canonical-src="/docs/images/metric_naming_example_2.png" width="899" height="120" />
194+
195+
###### Domains and subdomains
196+
197+
<table>
198+
<tbody>
199+
<tr>
200+
<td><strong>Domain</strong></td>
201+
<td><strong>Domain description</strong></td>
202+
<td><strong>Subdomain</strong></td>
203+
<td><strong>Subdomain description</strong></td>
204+
</tr>
205+
<tr>
206+
<td rowspan="2">system</td>
207+
<td rowspan="2">Platform wide system metrics</td>
208+
<td>cpu</td>
209+
<td>CPU-related performance metrics</td>
210+
</tr>
211+
<tr>
212+
<td>ram</td>
213+
<td>RAM-related performance metrics</td>
214+
</tr>
215+
<tr>
216+
<td rowspan="15">mq</td>
217+
<td rowspan="15">MQ manager wide metrics</td>
218+
<td>cpu</td>
219+
<td>CPU metrics of a running queue manager</td>
220+
</tr>
221+
<tr>
222+
<td>disk</td>
223+
<td>Disk usage metrics, related to a running queue manager</td>
224+
</tr>
225+
<tr>
226+
<td>rlog</td>
227+
<td>Queue manager recovery log metrics</td>
228+
</tr>
229+
<tr>
230+
<td>mqconn</td>
231+
<td>Metrics related to MQCONN calls to a queue manager</td>
232+
</tr>
233+
<tr>
234+
<td>mqdisc</td>
235+
<td>Metrics related to MQDISC calls to a queue manager</td>
236+
</tr>
237+
<tr>
238+
<td>mqopen</td>
239+
<td>Metrics related to MQOPEN calls to a queue manager</td>
240+
</tr>
241+
<tr>
242+
<td>mqclose</td>
243+
<td>Metrics related to MQCLOSE calls to a queue manager</td>
244+
</tr>
245+
<tr>
246+
<td>mqinq</td>
247+
<td>Metrics related to MQINQ calls to a queue manager</td>
248+
</tr>
249+
<tr>
250+
<td>mqset</td>
251+
<td>Metrics related to MQSET calls to a queue manager</td>
252+
</tr>
253+
<tr>
254+
<td>put</td>
255+
<td>Metrics related to MQPUT, MQPUT1 and MQSTAT calls to a queue manager</td>
256+
</tr>
257+
<tr>
258+
<td>get</td>
259+
<td>Metrics related to MQGET, MQCB and MQCTL calls to a queue manager</td>
260+
</tr>
261+
<tr>
262+
<td>commit</td>
263+
<td>Metrics related to MQCMIT calls to a queue manager</td>
264+
</tr>
265+
<tr>
266+
<td>rollback</td>
267+
<td>Metrics related to MQBACK calls to a queue manager</td>
268+
</tr>
269+
<tr>
270+
<td>subscribe</td>
271+
<td>Metrics related to subscriptions of a queue manager</td>
272+
</tr>
273+
<tr>
274+
<td>publish</td>
275+
<td>Metrics related to publications of a queue manager</td>
276+
</tr>
277+
<tr>
278+
<td rowspan="9">mqobject</td>
279+
<td rowspan="9">Metrics for specific objects of a queue manager: for a queue, for a channel, for a listener</td>
280+
<td>mqopen</td>
281+
<td>Metrics related to MQOPEN calls to a specific queue</td>
282+
</tr>
283+
<tr>
284+
<td>mqclose</td>
285+
<td>Metrics related to MQCLOSE calls to a specific queue</td>
286+
</tr>
287+
<tr>
288+
<td>mqinq</td>
289+
<td>Metrics related to MQINQ calls to a specific queue</td>
290+
</tr>
291+
<tr>
292+
<td>mqset</td>
293+
<td>Metrics related to MQSET calls to a specific queue</td>
294+
</tr>
295+
<tr>
296+
<td>put</td>
297+
<td>Metrics related to MQPUT and MQPUT1 calls to a specific queue</td>
298+
</tr>
299+
<tr>
300+
<td>get</td>
301+
<td>Metrics related to MQGET calls to a specific queue</td>
302+
</tr>
303+
<tr>
304+
<td>queue</td>
305+
<td>Metrics related to a specific queue</td>
306+
</tr>
307+
<tr>
308+
<td>channel</td>
309+
<td>Metrics related to a specific channel</td>
310+
</tr>
311+
<tr>
312+
<td>listener</td>
313+
<td>Metrics related to a specific listener</td>
314+
</tr>
315+
</tbody>
316+
</table>
317+
318+
###### Units
319+
320+
["Metric and label naming"](https://prometheus.io/docs/practices/naming/#metric-and-label-naming) article by Prometheus states that metrics "...should use base units (e.g. seconds, bytes, meters - not milliseconds, megabytes, kilometers)". But it is not usefull for using IBM MQ exporter. So the exporter has following list of units:
321+
322+
<table>
323+
<tbody>
324+
<tr>
325+
<td><strong>Unit</strong></td>
326+
<td><strong>Unit description</strong></td>
327+
</tr>
328+
<tr>
329+
<td>percentage</td>
330+
<td>Shows %</td>
331+
</tr>
332+
<tr>
333+
<td>hundredths</td>
334+
<td>Shows amount of hundredths. For example, "370 hundredths equal" to "3.70". It is used to reflect system's load average.</td>
335+
</tr>
336+
<tr>
337+
<td>megabytes</td>
338+
<td>Shows amount of megabytes</td>
339+
</tr>
340+
<tr>
341+
<td>files</td>
342+
<td>Shows amount of files</td>
343+
</tr>
344+
<tr>
345+
<td>bytes</td>
346+
<td>Shows amount of bytes</td>
347+
</tr>
348+
<tr>
349+
<td>microseconds</td>
350+
<td>Shows amount of microseconds.</td>
351+
</tr>
352+
<tr>
353+
<td>totalcalls</td>
354+
<td>Shows amount of calls. An accumulating count has "total" as the first part of a suffix.</td>
355+
</tr>
356+
<tr>
357+
<td>totalconnections</td>
358+
<td>Shows amount of connections. An accumulating count has "total" as the first part of a suffix.</td>
359+
</tr>
360+
<tr>
361+
<td>totalmessages</td>
362+
<td>Shows amount of messages. An accumulating count has "total" as the first part of a suffix.</td>
363+
</tr>
364+
<tr>
365+
<td>totalbytes</td>
366+
<td>Shows amount of bytes. An accumulating count has "total" as the first part of a suffix.</td>
367+
</tr>
368+
<tr>
369+
<td>totalbrowses</td>
370+
<td>Shows amount of browses. An accumulating count has "total" as the first part of a suffix.</td>
371+
</tr>
372+
<tr>
373+
<td>subscriptions</td>
374+
<td>Shows amount of subscriptions.</td>
375+
</tr>
376+
<tr>
377+
<td>totalattempts</td>
378+
<td>Shows amount of attempts. An accumulating count has "total" as the first part of a suffix.</td>
379+
</tr>
380+
<tr>
381+
<td>totalqueues</td>
382+
<td>Shows amount of queues. An accumulating count has "total" as the first part of a suffix.</td>
383+
</tr>
384+
<tr>
385+
<td>messages</td>
386+
<td>Shows amount of messages.</td>
387+
</tr>
388+
</tbody>
389+
</table>
390+
391+
#### Metrics list
392+
##### Platform central processing units
178393
###### CPU performance - platform wide
179394
<table>
180395
<tbody>
@@ -259,7 +474,7 @@ The only input parameter is the path to your configuration file.
259474
</tbody>
260475
</table>
261476

262-
#### Platform persistent data stores
477+
##### Platform persistent data stores
263478
###### Disk usage - platform wide
264479
<table>
265480
<tbody>
@@ -380,7 +595,7 @@ The only input parameter is the path to your configuration file.
380595
</tbody>
381596
</table>
382597

383-
#### API usage statistics
598+
##### API usage statistics
384599
###### MQCONN and MQDISC
385600
<table>
386601
<tbody>
@@ -858,7 +1073,7 @@ The only input parameter is the path to your configuration file.
8581073
</tbody>
8591074
</table>
8601075

861-
#### API per-queue usage statistics
1076+
##### API per-queue usage statistics
8621077
###### MQOPEN and MQCLOSE
8631078
<table>
8641079
<tbody>
@@ -1080,8 +1295,8 @@ The only input parameter is the path to your configuration file.
10801295
</tbody>
10811296
</table>
10821297

1083-
#### MQ PCF API specific statistics
1084-
##### PCF requests
1298+
##### MQ PCF API specific statistics
1299+
###### PCF requests
10851300
These metrics are collected via sending direct PCF commands to queue manager.
10861301
<table>
10871302
<tbody>
64.3 KB
Loading
118 KB
Loading

0 commit comments

Comments
 (0)