anchor.diff:      msg_delay:send_local(FirstDelay, self(), {bench}),
       msg_delay:send_local(get_gather_interval(), self(), {propagate}),
       Now = os:timestamp(),
  -    State = #state{perf_rr = rrd:create(get_gather_interval() * 1000000, 60, {timing, ms}, Now),
  +    State = #state{id = util:get_global_uid(),
  +                   perf_rr = rrd:create(get_gather_interval() * 1000000, 60, {timing, ms}, Now),
                      perf_lh = rrd:create(get_gather_interval() * 1000000, 60, {timing, count}, Now)},
       {State, State}.
   
  
positive.code: -export([start_link/1, init/1, on/2, check_config/0]).
  
  -record(state,
          {round   = 0                         :: non_neg_integer(),
           perf_rr = ?required(state, perf_rr) :: rrd:rrd(),
           perf_lh = ?required(state, perf_lh) :: rrd:rrd()
          }).
  
negative.code:         false -> State;
          _ ->
              % start a new timeslot and gather stats...
              NewId = util:get_global_uid(),
              Msg = {send_to_group_member, monitor_perf, {gather_stats, comm:this(), NewId}},
              bulkowner:issue_bulk_owner(intervals:all(), Msg),
              Leader1 = check_timeslots(Leader),
              broadcast_values(Leader, Leader1),
              {AllNodes, Leader1#state{id = NewId}}
      end;
  
  on({gather_stats, SourcePid, Id} = _Msg, State) ->
      ?TRACE1(_Msg, State),
      This = comm:this_with_cookie({SourcePid, Id}),
      comm:send_local(pid_groups:get_my(monitor),
                      {get_rrds, [{?MODULE, "read_read"}, {dht_node, "lookup_hops"}], This}),
      State;
  
  on({{get_rrds_response, DBs}, {SourcePid, Id}} = _Msg, State) ->
      ?TRACE1(_Msg, State),
      DataL = lists:flatten(
                [begin
  