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:         false -> State;
          _ ->
              % start a new timeslot and gather stats...
              NewRound = Leader#state.round + 1,
              Msg = {send_to_group_member, monitor_perf, {gather_stats, comm:this(), NewRound}},
              bulkowner:issue_bulk_owner(intervals:all(), Msg),
              Leader1 = check_timeslots(Leader),
              broadcast_values(Leader, Leader1),
              {AllNodes, Leader1#state{round = NewRound}}
      end;
  
  on({gather_stats, SourcePid, Round} = _Msg, State) ->
      ?TRACE1(_Msg, State),
      This = comm:this_with_cookie({SourcePid, Round}),
      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, Round}} = _Msg, State) ->
      ?TRACE1(_Msg, State),
      DataL = lists:flatten(
                [begin
  
negative.code:                   end
            end, Leader, DataL),
      {AllNodes, Leader1};
  on({gather_stats_response, _Id, _Data} = _Msg, State) ->
      ?TRACE1(_Msg, State),
      State;
  
  on({report_value, OtherState} = _Msg, {AllNodes, Leader} = _State) ->
      ?TRACE1(_Msg, _State),
      AllNodes1 = integrate_values(OtherState, AllNodes),
      {AllNodes1, Leader};
  
  on({get_rrds, KeyList, SourcePid}, {AllNodes, _Leader} = State) ->
      MyData = lists:flatten(
  