anchor.diff:      %% The first interval may have accumulated heartbeats. Later intervals will not and can be
       %% aggregated into one step using pow.
       NAvg = ((Avg * ?HISTORY_WEIGHT) + (Hb * ?NOW_WEIGHT)) * math:pow(?HISTORY_WEIGHT, ICount-1),
  +    folsom_metrics:notify(?HEALTH_METRIC, NAvg),
  +    folsom_metrics:notify(?INTERVALS_METRIC, ICount),
  +    folsom_metrics:notify(?HEARTBEATS_METRIC, Hb),
       M#metric{avg=NAvg, interval_start=NextI, heartbeats=0}.
  +
  +metric_for_name(Name) ->
  +    <<"node.stats.", Name/binary>>.
  
positive.code: -define(NOW_WEIGHT, (1.0/decay_window())).
  -define(HISTORY_WEIGHT, (1.0-?NOW_WEIGHT)).
  
  -define(MEGA, 1000000). %% because I can't count zeros reliably
  
  -export([init/0,
           heartbeat/1,
  
negative.code: 
  -spec init() -> atom() | ets:tid().
  init() ->
      folsom_metrics:new_histogram(?HEALTH_METRIC, slide, 20),
      folsom_metrics:new_histogram(?INTERVALS_METRIC, slide, 20),
      folsom_metrics:new_histogram(?HEARTBEATS_METRIC, slide, 20),
      ets:new(?MODULE, [set, public, named_table, {keypos, 2},
                        {write_concurrency, true}, {read_concurrency, true}]).
  
  