anchor.diff:              State#s{previous_counter_values = NewData, last_rps_calculation_time = Now}
       end.
   
  -aggregate_metrics_data(Metrics) ->
  +merge_metrics_data(Metrics) ->
       lists:foldl(
           fun ({{Name, counter}, Vs}, Acc) ->
                   [{Name, lists:sum(Vs), counter}|Acc];
  
positive.code:             end
          end, lists:usort([erlang:node()] ++ Nodes)),
  
      lager:info("[ metrics ] Metric aggregation..."),
      Aggregated = aggregate_metrics_data(Values),
  
      lager:info("[ metrics ] Updating values in exometer..."),
      lists:foreach(
          fun ({N, V, counter}) ->
                  exometer:update_or_create([?GLOBALPREFIX, N], V, counter, []);
  
negative.code: %%% Internal functions
  %%%===================================================================
  
  tick(#s{last_tick_time = LastTick} = State) ->
      Now = os:timestamp(),
      TimeSinceTick = timer:now_diff(Now, LastTick),
      State1 = aggregate_metrics(State),
      State2 = check_assertions(TimeSinceTick, State1),
      State3 = check_signals(State2),
      State3#s{last_tick_time = Now}.
  
  aggregate_metrics(#s{nodes = Nodes} = State) ->
      lager:info("[ metrics ] METRIC AGGREGATION:"),
  
      StartTime = os:timestamp(),
  
      Values = mzb_lists:pmap(
          fun (N) ->
  