An Elixir package for pushing Erlang VM stats into StatsD
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
config first incarnation of ex_vmstats Nov 10, 2015
lib Updates for 1.4 Jan 9, 2017
test Use proper timer function for ex_statsd instead of timing Dec 15, 2016
mix.exs Updates for 1.4 Jan 9, 2017

Build Status


An Elixir package for pushing Erlang VM stats into StatsD, based on ferd/vmstats.


  1. Add ex_vmstats to your list of dependencies in mix.exs:
def deps do
  [{:ex_vmstats, "~> 0.0.1"}]
  1. Ensure ex_vmstats is started before your application:
def application do
  [applications: [:ex_vmstats]]


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 &timer/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 with scheduler_wall_time here.