anchor.diff:      {bench} |
       {propagate} |
       {get_node_details_response, node_details:node_details()} |
  -    {gather_stats, SourcePid::comm:mypid(), Round::pos_integer()} |
  -    {{get_rrds_response, [{Process::atom(), Key::string(), DB::rrd:rrd() | undefined}]}, {SourcePid::comm:mypid(), Round::pos_integer()}} |
  -    {gather_stats_response, Round::pos_integer(), [{Process::atom(), Key::string(), Data::rrd:timing_type(number())}]} |
  +    {gather_stats, SourcePid::comm:mypid(), Id::util:global_uid()} |
  +    {{get_rrds_response, [{Process::atom(), Key::string(), DB::rrd:rrd() | undefined}]}, {SourcePid::comm:mypid(), Id::util:global_uid()}} |
  +    {gather_stats_response, Id::util:global_uid(), [{Process::atom(), Key::string(), Data::rrd:timing_type(number())}]} |
       {report_value, StatsOneRound::#state{}} |
       {get_rrds, [{Process::atom(), Key::string()},...], SourcePid::comm:mypid()}.
   
  
positive.code:                   end
            end, Leader, DataL),
      {AllNodes, Leader1};
  on({gather_stats_response, _Round, _Data} = _Msg, State) ->
      ?TRACE1(_Msg, State),
      State;
  
  on({report_value, OtherState} = _Msg, {AllNodes, Leader} = _State)
    when OtherState#state.round > AllNodes#state.round ->
      ?TRACE1(_Msg, _State),
      AllNodes1 = integrate_values(OtherState, AllNodes),
      {AllNodes1, Leader};
  
  on({report_value, _OtherState} = _Msg, State) ->
      ?TRACE1(_Msg, State),
      State;
  
  on({get_rrds, KeyList, SourcePid}, {AllNodes, _Leader} = State) ->
      MyData = lists:flatten(
  
negative.code: -export([start_link/1, init/1, on/2, check_config/0]).
  
  -record(state,
          {id      = ?required(state, id)      :: util:global_uid(),
           perf_rr = ?required(state, perf_rr) :: rrd:rrd(),
           perf_lh = ?required(state, perf_lh) :: rrd:rrd()
          }).
  