anchor.diff:  -include_lib("exometer_core/include/exometer.hrl").
   
   -define(DATAPOINTS, [updates]).
  +-define(INITIAL_DATA, [{updates, 0}]).
   
   -record(st, {
  -          name,
             datapoints = ?DATAPOINTS,
  -          data = [],
  -          ttl = 5000
  +          data
            }).
   
   ad_hoc_spec() ->
       [{module, ?MODULE},
        {type, probe},
  -     {cache, 5000},
        {sample_interval, infinity}].
   
   -spec behaviour() -> exometer:behaviour().
  
positive.code: 
  probe_get_value(DPs, #st{data = Data0,
                           datapoints = DPs0} = S) ->
      Data1 = if Data0 =:= undefined ->
                      [];
                 true -> Data0
              end,
      DPs1 = if DPs =:= default -> DPs0;
                true -> DPs
             end,
      {ok, probe_get_value_(Data1, DPs1), S#st{data = Data1}}.
  
  probe_get_value_(Data, DPs) ->
      [D || {K,_} = D <- Data,
  
negative.code:     {error, not_supported}.
  
  probe_reset(S) ->
      {ok, S#st{data = initial_data(S#st.datapoints)}}.
  
  probe_sample(_) ->
      {error, not_supported}.
  