anchor.diff:          State
       end,
   
  +    ok = mzb_metrics:notify({metric_name("process_count"), gauge}, erlang:system_info(process_count)),
  +
       %lager:info("System load at ~p: cpu ~p, la ~p, ram ~p", [node(), Cpu, La1, AllocatedMem / TotalMem]),
       erlang:send_after(interval(), self(), trigger),
       {noreply, NewState#state{last_trigger_timestamp = Now}};
  
positive.code: 
  %% Internal functions
  
  metric_name(GaugeName) ->
      metric_name(GaugeName, atom_to_list(node())).
  
  
negative.code: 
          {graph, #{title => "Report interval",
                    units => "sec",
                    metrics => [{metric_name("interval", N), gauge} || N <- Nodes]}}]},
       {group, "MZBench Internals", [
          {graph, #{title => "Mailbox messages",
                    metrics => [{metric_name("message_queue", N), gauge} || N <- Nodes]}}
          ]}].
  
  %% gen_server callbacks
  
  init([]) ->
      lager:info("~p started on node ~p", [?MODULE, node()]),
      _ = spawn_link(fun mailbox_len_reporter/0),
      erlang:send_after(interval(), self(), trigger),
      {ok, #state{last_rx_bytes = not_available,
          last_tx_bytes = not_available,
  