Specify the module responsible for StatsD consumption
[beam_stats.git] / README.md
1 [![Build Status](https://travis-ci.org/ibnfirnas/beam_stats.svg?branch=master)](https://travis-ci.org/ibnfirnas/beam_stats)
2
3 beam_stats
4 ==========
5
6 Periodically collects and pushes VM metrics to arbitrary consumers. Defaults to
7 StatsD (`beam_stats_consumer_statsd`) and includes off-by-default implementations for Graphite
8 (`beam_stats_consumer_graphite`) and CSV file (`beam_stats_consumer_csv`)
9 consumers).
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
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 ```
This page took 0.081844 seconds and 4 git commands to generate.