blob: 53c9ea4f4e9c18af2de547fd8bcdd4c5ac2caa34 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
# couch_stats
couch_stats is a simple statistics collection app for Erlang applications. Its
core API is a thin wrapper around a stat storage library (currently Folsom,) but
abstracting over that library provides several benefits:
* All references to stat storage are in one place, so it's easy to swap
the module out.
* Some common patterns, such as tying a process's lifetime to a counter value,
are straightforward to support.
* Configuration can be managed in a single place - for example, it's much easier
to ensure that all histogram metrics use a 10-second sliding window if those
metrics are instantiated/configured centrally.
## Adding a metric
1. Write a stat description file. See `priv/descriptions.cfg for an example.
* The metric name should be of type `[atom()]`.
* The type should be one of `counter`, `gauge`, or `histogram`.
If you don't add your metric to a description file, your metric will be
accessible via `couch_stats:sample/1`, but it won't be read by the stats
collector and therefore won't be available to HTTP `_stats` requests, etc.
2. Tell couch_stats to use your description file via application configuration.
2. Instrument your code with the helper functions in `couch_stats.erl`.
|