An Elixir package for pushing Erlang VM stats into StatsD, based on ferd/vmstats.
- Add ex_vmstats to your list of dependencies in
mix.exs
:
```elixir
def deps do
[{:ex_vmstats, "~> 0.0.1"}]
end
```
- Ensure ex_vmstats is started before your application:
```elixir
def application do
[applications: [:ex_vmstats]]
end
```
Your project must include ExStatsD, unless you use a custom backend. (See configuration options below.)
Configure ExVmstats using Mix.Config
, normally somewhere in config/
:
use Mix.Config
config :ex_vmstats,
namespace: "vm_stats",
backend: :ex_statsd,
interval: 3000,
use_histogram: false,
sched_time: false
Defaults are shown. The configuration options are:
-
namespace: This will be prepended to all metrics sent by ExVmStats, but will follow the ExStatsD namespace (if applicable).
-
backend: Out of the box, the only supported backend is ExStatsD. A custom backend module may be identified here. Backend modules must define the functions
&timing/2
,&counter/2
, and one or both of&gauge/2
and&histogram/2
. The arguments passed to each are(value, metric)
. -
interval: The number of milliseconds to wait between VM stats deliveries.
-
use_histogram: Use histograms instead of gauges. For use with Datadog's DogStatD.
-
sched_time: Enable reporting of Erlang
scheduler_wall_time
statistics (if available). For more information, see the section dealing withscheduler_wall_time
here.