• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

doc/H03-May-2022-835479

src/H03-May-2022-531324

test/H13-Apr-2017-139109

LICENSEH A D13-Apr-20171.4 KiB3024

README.mdH A D13-Apr-20172.7 KiB9459

rebar.configH A D03-May-2022538 2722

rebar.lockH A D13-Apr-20174 21

README.md

1
2
3# metrics: A generic interface to different metrics systems in Erlang. #
4
5Copyright (c) 2017 Benoît Chesneau.
6
7__Version:__ 2.4.0
8
9# metrics
10
11A generic interface to folsom, exometer, grapherl or any compliant interface. This
12application have been extracted from
13[hackney](https://github.com/benoitc/hackney).
14
15Currently supported backend are:
16
17- [Folsom](https://github.com/folsom-project/folsom): `metrics_folsom`
18- [Exometer](https://github.com/Feuerlabs/exometer): `metrics_exometer`
19
20> If you need the support for another backend, please [open a ticket](https://github.com/benoitc/erlang-metrics/issues).
21
22[![Hex pm](http://img.shields.io/hexpm/v/metrics.svg?style=flat)](https://hex.pm/packages/metrics)
23
24## Usage
25
26### Set a backend
27
28The backend can be set in the application environmenet using the `metrics_mod` setting or using `metrics:backend/1`.
29
30### register a new metric:
31
32```
33metrics:new(counter, "c").
34```
35
36Depending on the backend the following metrics types can be passed: counter | histogram | gauge | meter | spiral
37
38### update a metric
39
40A counter can simply be incremented by 1 using `metrics:update/1`. or by passing a positive or negative integer like this:
41
42```
43metrics:update("c", {c, 1}).
44```
45
46Other metrics are updated via `metrics:update/2`.
47
48## Example:
49
50```erlang
51
521> application:ensure_all_started(metrics).
53{ok,[metrics]}
542> application:ensure_all_started(folsom).
55{ok,[bear,folsom]}
563> metrics:backend(metrics_folsom).
57ok
584> metrics:new(counter, "c").
59ok
605> metrics:update("c").
61ok
626> folsom_metrics:get_metric_value("c").
631
647> metrics:update("c", {c, 1}).
65ok
668> folsom_metrics:get_metric_value("c").
672
68
69```
70
71## Documentation
72
73Full doc is available in the [`metrics`](http://github.com/benoitc/erlang-metrics/blob/master/doc/metrics.md) module.
74
75## Build
76
77```
78$ rebar3 compile
79```
80
81
82
83## Modules ##
84
85
86<table width="100%" border="0" summary="list of modules">
87<tr><td><a href="http://github.com/benoitc/erlang-metrics/blob/master/doc/metrics.md" class="module">metrics</a></td></tr>
88<tr><td><a href="http://github.com/benoitc/erlang-metrics/blob/master/doc/metrics_exometer.md" class="module">metrics_exometer</a></td></tr>
89<tr><td><a href="http://github.com/benoitc/erlang-metrics/blob/master/doc/metrics_folsom.md" class="module">metrics_folsom</a></td></tr>
90<tr><td><a href="http://github.com/benoitc/erlang-metrics/blob/master/doc/metrics_noop.md" class="module">metrics_noop</a></td></tr>
91<tr><td><a href="http://github.com/benoitc/erlang-metrics/blob/master/doc/metrics_process_tracker.md" class="module">metrics_process_tracker</a></td></tr>
92<tr><td><a href="http://github.com/benoitc/erlang-metrics/blob/master/doc/metrics_sup.md" class="module">metrics_sup</a></td></tr></table>
93
94