Commit | Line | Data |
---|---|---|
fa46439c SK |
1 | [![Build Status](https://travis-ci.org/ibnfirnas/beam_stats.svg?branch=master)](https://travis-ci.org/ibnfirnas/beam_stats) |
2 | ||
caf75ed8 SK |
3 | beam_stats |
4 | ========== | |
5 | ||
b545475b | 6 | Periodically collects and pushes VM metrics to arbitrary consumers. Defaults to |
d58a83a7 | 7 | StatsD (`beam_stats_consumer_statsd`) and includes off-by-default implementations for Graphite |
b545475b SK |
8 | (`beam_stats_consumer_graphite`) and CSV file (`beam_stats_consumer_csv`) |
9 | consumers). | |
caf75ed8 SK |
10 | |
11 | Essentially like `folsomite`, but better. Better in the following ways: | |
12 | ||
13 | - More-general: consumers other than graphite can be defined | |
14 | - More-focused: only concerned with VM metrics, while `folsomite` ships off | |
15 | _everything_ from `folsom` (in addition to VM metrics) | |
16 | - Easier-to-reason-about implementation: well-defined metrics-to-binary | |
17 | conversions, as opposed to the nearly-arbitrary term-to-string conversions | |
18 | used in `folsomite` | |
19 | - Spec'd, tested and Dialyzed | |
875ffc3a SK |
20 | |
21 | #### Configure consumers | |
22 | ||
23 | ```erlang | |
24 | {env, | |
25 | [ {production_interval , 30000} | |
26 | , {consumers, | |
27 | [ {beam_stats_consumer_statsd, | |
28 | [ {consumption_interval , 60000} | |
29 | , {dst_host , "localhost"} | |
30 | , {dst_port , 8125} | |
31 | , {src_port , 8124} | |
32 | ]} | |
33 | , {beam_stats_consumer_graphite, | |
34 | [ {consumption_interval , 60000} | |
35 | , {host , "localhost"} | |
36 | , {port , 2003} | |
37 | , {timeout , 5000} | |
38 | ]} | |
39 | , {beam_stats_consumer_csv, | |
40 | [ {consumption_interval , 60000} | |
41 | , {path , "beam_stats.csv"} | |
42 | ]} | |
43 | ||
44 | , {some_custom_consumer_module, | |
45 | [ {foo, "abc"} | |
46 | , {bar, 123} | |
47 | ]} | |
48 | ||
49 | ]} | |
50 | ]} | |
51 | ``` |