Skip to content

Commit 39ef9d0

Browse files
committed
Bump to v4.5.0
1 parent 878d19e commit 39ef9d0

File tree

8 files changed

+158
-8
lines changed

8 files changed

+158
-8
lines changed

README.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
Copyright (c) 2016,2017 Ilya Khaprov <<[email protected]>>.
66

7-
__Version:__ 4.4.1
7+
__Version:__ 4.5.0
88

99
[![Hex.pm](https://img.shields.io/hexpm/v/prometheus.svg?maxAge=2592000?style=plastic)](https://hex.pm/packages/prometheus)
1010
[![Hex.pm](https://img.shields.io/hexpm/dt/prometheus.svg?maxAge=2592000)](https://hex.pm/packages/prometheus)
@@ -232,9 +232,9 @@ prometheus_vm_system_info_collector
232232

233233
### Configuration
234234

235-
All 3rd-party libraries should be configured via `prometheus` app env.
235+
All 3d-party libraries should be configured via `prometheus` app env.
236236

237-
Exporters are responsible for maintaining scrape endpoint.
237+
Exproters are responsible for maintianing scrape endpoint.
238238
Exporters usually tightly coupled with web server and are singletons. They should understand these keys:
239239
- `path` - url for scraping;
240240
- `format` - scrape format as module name i.e. `prometheus_text_format` or `prometheus_protobuf_format`.
@@ -290,6 +290,7 @@ MIT
290290
<tr><td><a href="https://github.com/deadtrickster/prometheus.erl/blob/master/doc/prometheus_time.md" class="module">prometheus_time</a></td></tr>
291291
<tr><td><a href="https://github.com/deadtrickster/prometheus.erl/blob/master/doc/prometheus_vm_dist_collector.md" class="module">prometheus_vm_dist_collector</a></td></tr>
292292
<tr><td><a href="https://github.com/deadtrickster/prometheus.erl/blob/master/doc/prometheus_vm_memory_collector.md" class="module">prometheus_vm_memory_collector</a></td></tr>
293+
<tr><td><a href="https://github.com/deadtrickster/prometheus.erl/blob/master/doc/prometheus_vm_msacc_collector.md" class="module">prometheus_vm_msacc_collector</a></td></tr>
293294
<tr><td><a href="https://github.com/deadtrickster/prometheus.erl/blob/master/doc/prometheus_vm_statistics_collector.md" class="module">prometheus_vm_statistics_collector</a></td></tr>
294295
<tr><td><a href="https://github.com/deadtrickster/prometheus.erl/blob/master/doc/prometheus_vm_system_info_collector.md" class="module">prometheus_vm_system_info_collector</a></td></tr></table>
295296

doc/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
Copyright (c) 2016,2017 Ilya Khaprov <<[email protected]>>.
66

7-
__Version:__ 4.4.1
7+
__Version:__ 4.5.0
88

99
[![Hex.pm](https://img.shields.io/hexpm/v/prometheus.svg?maxAge=2592000?style=plastic)](https://hex.pm/packages/prometheus)
1010
[![Hex.pm](https://img.shields.io/hexpm/dt/prometheus.svg?maxAge=2592000)](https://hex.pm/packages/prometheus)
@@ -290,6 +290,7 @@ MIT
290290
<tr><td><a href="prometheus_time.md" class="module">prometheus_time</a></td></tr>
291291
<tr><td><a href="prometheus_vm_dist_collector.md" class="module">prometheus_vm_dist_collector</a></td></tr>
292292
<tr><td><a href="prometheus_vm_memory_collector.md" class="module">prometheus_vm_memory_collector</a></td></tr>
293+
<tr><td><a href="prometheus_vm_msacc_collector.md" class="module">prometheus_vm_msacc_collector</a></td></tr>
293294
<tr><td><a href="prometheus_vm_statistics_collector.md" class="module">prometheus_vm_statistics_collector</a></td></tr>
294295
<tr><td><a href="prometheus_vm_system_info_collector.md" class="module">prometheus_vm_system_info_collector</a></td></tr></table>
295296

doc/edoc-info

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@
66
prometheus_mnesia_collector,prometheus_model_helpers,
77
prometheus_protobuf_format,prometheus_registry,prometheus_summary,
88
prometheus_text_format,prometheus_time,prometheus_vm_dist_collector,
9-
prometheus_vm_memory_collector,prometheus_vm_statistics_collector,
9+
prometheus_vm_memory_collector,prometheus_vm_msacc_collector,
10+
prometheus_vm_statistics_collector,
1011
prometheus_vm_system_info_collector]}.

doc/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@copyright 2016,2017 Ilya Khaprov <<[email protected]>>.
22
@title Prometheus.io client for Erlang
3-
@version 4.4.1
3+
@version 4.5.0
44

55
@doc
66
[![Hex.pm](https://img.shields.io/hexpm/v/prometheus.svg?maxAge=2592000?style=plastic)](https://hex.pm/packages/prometheus)
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
2+
3+
# Module prometheus_vm_msacc_collector #
4+
* [Description](#description)
5+
6+
Collects microstate accounting metrics using
7+
[
8+
erlang:statistics(microstate_accounting)
9+
](http://erlang.org/doc/man/erlang.md#statistics_microstate_accounting).
10+
11+
__Behaviours:__ [`prometheus_collector`](prometheus_collector.md).
12+
13+
<a name="description"></a>
14+
15+
## Description ##
16+
17+
In order for values to increase, microstate
18+
accounting must be enabled. This is done by
19+
calling `erlang:system_flag(microstate_accounting, true).`
20+
21+
22+
### <a name="Exported_metrics">Exported metrics</a> ###
23+
24+
Some metrics are not available by default. They require a VM
25+
configured with `./configure --with-microstate-accounting=extra`.
26+
27+
* `erlang_vm_msacc_aux_seconds_total`<br />
28+
Type: counter.<br />
29+
Total time in seconds spent handling auxiliary jobs.
30+
31+
* `erlang_vm_msacc_check_io_seconds_total`<br />
32+
Type: counter.<br />
33+
Total time in seconds spent checking for new I/O events.
34+
35+
* `erlang_vm_msacc_emulator_seconds_total`<br />
36+
Type: counter.<br />
37+
Total time in seconds spent executing Erlang processes.
38+
39+
* `erlang_vm_msacc_gc_seconds_total`<br />
40+
Type: counter.<br />
41+
Total time in seconds spent doing garbage collection.
42+
When extra states are enabled this is the time spent
43+
doing non-fullsweep garbage collections.
44+
45+
* `erlang_vm_msacc_other_seconds_total`<br />
46+
Type: counter.<br />
47+
Total time in seconds spent doing unaccounted things.
48+
49+
* `erlang_vm_msacc_port_seconds_total`<br />
50+
Type: counter.<br />
51+
Total time in seconds spent executing ports.
52+
53+
* `erlang_vm_msacc_sleep_seconds_total`<br />
54+
Type: counter.<br />
55+
Total time in seconds spent sleeping.
56+
57+
* `erlang_vm_msacc_alloc_seconds_total`<br />
58+
Type: counter.<br />
59+
Total time in seconds spent managing memory.
60+
Without extra states this time is spread out over all other states.
61+
62+
* `erlang_vm_msacc_bif_seconds_total`<br />
63+
Type: counter.<br />
64+
Total time in seconds spent in BIFs.
65+
Without extra states this time is part of the 'emulator' state.
66+
67+
* `erlang_vm_msacc_busy_wait_seconds_total`<br />
68+
Type: counter.<br />
69+
Total time in seconds spent busy waiting.
70+
Without extra states this time is part of the 'other' state.
71+
72+
* `erlang_vm_msacc_ets_seconds_total`<br />
73+
Type: counter.<br />
74+
Total time in seconds spent executing ETS BIFs.
75+
Without extra states this time is part of the 'emulator' state.
76+
77+
* `erlang_vm_msacc_gc_full_seconds_total`<br />
78+
Type: counter.<br />
79+
Total time in seconds spent doing fullsweep garbage collection.
80+
Without extra states this time is part of the 'gc' state.
81+
82+
* `erlang_vm_msacc_nif_seconds_total`<br />
83+
Type: counter.<br />
84+
Total time in seconds spent in NIFs.
85+
Without extra states this time is part of the 'emulator' state.
86+
87+
* `erlang_vm_msacc_send_seconds_total`<br />
88+
Type: counter.<br />
89+
Total time in seconds spent sending messages (processes only).
90+
Without extra states this time is part of the 'emulator' state.
91+
92+
* `erlang_vm_msacc_timers_seconds_total`<br />
93+
Type: counter.<br />
94+
Total time in seconds spent managing timers.
95+
Without extra states this time is part of the 'other' state.
96+
97+
98+
99+
### <a name="Configuration">Configuration</a> ###
100+
101+
Metrics exported by this collector can be configured via
102+
`vm_msacc_collector_metrics` key of `prometheus` app environment.
103+
104+
Options are the same as MSAcc_Thread_State return type from
105+
[
106+
erlang:statistics(microstate_accounting)
107+
](http://erlang.org/doc/man/erlang.md#statistics_microstate_accounting) with `_seconds_total` as the suffix:
108+
109+
* `aux_seconds_total` for `erlang_vm_msacc_aux_seconds_total`.
110+
111+
* `check_io_seconds_total` for `erlang_vm_msacc_check_io_seconds_total`.
112+
113+
* `emulator_seconds_total` for `erlang_vm_msacc_emulator_seconds_total`.
114+
115+
* `gc_seconds_total` for `erlang_vm_msacc_gc_seconds_total`.
116+
117+
* `other_seconds_total` for `erlang_vm_msacc_other_seconds_total`.
118+
119+
* `port_seconds_total` for `erlang_vm_msacc_port_seconds_total`.
120+
121+
* `sleep_seconds_total` for `erlang_vm_msacc_sleep_seconds_total`.
122+
123+
* `alloc_seconds_total` for `erlang_vm_msacc_alloc_seconds_total`.
124+
125+
* `bif_seconds_total` for `erlang_vm_msacc_bif_seconds_total`.
126+
127+
* `busy_wait_seconds_total` for `erlang_vm_msacc_busy_wait_seconds_total`.
128+
129+
* `ets_seconds_total` for `erlang_vm_msacc_ets_seconds_total`.
130+
131+
* `gc_full_seconds_total` for `erlang_vm_msacc_gc_full_seconds_total`.
132+
133+
* `nif_seconds_total` for `erlang_vm_msacc_nif_seconds_total`.
134+
135+
* `send_seconds_total` for `erlang_vm_msacc_send_seconds_total`.
136+
137+
* `timers_seconds_total` for `erlang_vm_msacc_timers_seconds_total`.
138+
139+
140+
By default all metrics are enabled as far as Prometheus is concerned,
141+
although some metrics could not be enabled by the VM itself.

doc/prometheus_vm_system_info_collector.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@ used for asynchronous driver calls.
8989
Type: boolean.<br />
9090
1 if time correction is enabled, otherwise 0.
9191

92+
* `erlang_vm_wordsize_bytes`<br />
93+
Type: gauge.<br />
94+
The size of Erlang term words in bytes.
95+
9296
* `erlang_vm_atom_count`<br />
9397
Type: gauge.<br />
9498
The number of atom currently existing at the local node.
@@ -143,6 +147,8 @@ erlang:system_info/1
143147

144148
* `time_correction` for `erlang_vm_time_correction`.
145149

150+
* `wordsize_bytes` for `erlang_vm_wordsize_bytes`.
151+
146152
* `atom_count` for `erlang_vm_atom_count`.
147153

148154
* `atom_limit` for `erlang_vm_atom_limit`.

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule Prometheus.Mixfile do
33

44
def project do
55
[app: :prometheus,
6-
version: "4.4.1",
6+
version: "4.5.0",
77
description: description(),
88
package: package()]
99
end

src/prometheus.app.src

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{application, prometheus,
22
[{description, "Prometheus.io client in Erlang"},
3-
{vsn, "4.4.1"},
3+
{vsn, "4.5.0"},
44
{registered, []},
55
{mod, { prometheus, []}},
66
{applications,

0 commit comments

Comments
 (0)