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