anchor.diff:  clear_history(Name) ->
       catch folsom_metrics:delete_metric(Name),
       new_history(Name).
  -
  
positive.code: -spec(start_link(atom()) ->
               ok | {error, any()}).
  start_link(Application) ->
      %% snmp
      application:start(leo_statistics),
      application:start(snmp),
      ok = snmpa:load_mibs(snmp_master_agent, [?env_snmp_agent(Application)]),
  
      %% folsom
      ChildSpec1 = {folsom,
                    {folsom_sup, start_link, []},
                    permanent, 2000, supervisor, [folsom]},
      {ok, _} = supervisor:start_child(leo_statistics_sup, ChildSpec1),
  
      %% request-counter
      ChildSpec2 = {leo_statistics_req_counter,
                    {leo_statistics_req_counter, start_link, []},
                    permanent, 2000, worker, [leo_statistics_req_counter]},
      {ok, _} = supervisor:start_child(leo_statistics_sup, ChildSpec2),
      ok.
  
  -spec(start_link(atom(), integer()) ->
               ok | {error, any()}).
  
negative.code:          new_history/1, get_history/2, sum/2, clear_history/1
          ]).
  
  -define(env_snmp_agent(Server),
          case application:get_env(Server, snmp_agent) of
              {ok, _SNMPAgent} -> _SNMPAgent;
              _ -> []
          end).
  
  %%--------------------------------------------------------------------
  