Mirror of Apache CouchDB
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
priv
src
.gitignore
LICENSE
README.md

README.md

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.

  1. Tell couch_stats to use your description file via application configuration.

  2. Instrument your code with the helper functions in couch_stats.erl.