anchor.diff:  
   -record(state, {
       last_rx_bytes :: integer() | not_available,
  -    last_tx_bytes :: integer() | not_available
  +    last_tx_bytes :: integer() | not_available,
  +    last_trigger_timestamp :: erlang:timestamp() | not_available
       }).
   
   interval() -> 10000. % ten seconds
  
positive.code: 
          case LastRXBytes of
              not_available -> ok;
              _ -> ok = mzb_metrics:notify({metric_name("netrx"), gauge},
                      (CurrentRXBytes - LastRXBytes) / (interval() / 1000))
          end,
  
          case LastTXBytes of
              not_available -> ok;
              _ -> ok = mzb_metrics:notify({metric_name("nettx"), gauge},
                      (CurrentTXBytes - LastTXBytes) / (interval() / 1000))
          end,
  
          #state{last_rx_bytes = CurrentRXBytes, last_tx_bytes = CurrentTXBytes}
  
negative.code:     {noreply, State}.
  
  handle_info(trigger,
      #state{last_rx_bytes = LastRXBytes,
          last_tx_bytes = LastTXBytes,
          last_trigger_timestamp = LastTriggerTimestamp} = State) ->
  
      Now = os:timestamp(),
  
      LastIntervalDuration = case LastTriggerTimestamp of
          not_available -> interval();
          _ -> timer:now_diff(Now, LastTriggerTimestamp)
      end,
      ok = mzb_metrics:notify({metric_name("interval"), gauge}, LastIntervalDuration / 1000),
  
      case cpu_sup:avg1() of
          {error, LAFailedReason} ->
  