anchor.diff:                    units => "%",
                     metrics => [{metric_name("ram"), gauge}]}}] ++
   
  -        [{graph, #{title => "Network transmit - " ++ I,
  +        [{graph, #{title => "Network transmit (bytes) - " ++ I,
                     units => "bytes",
  -                  metrics => [{metric_name("nettx." ++ I), gauge}]}} || I <- local_interfaces() ] ++
  -
  -        [{graph, #{title => "Network receive - " ++ I,
  +                  metrics => [{metric_name("nettx.bytes." ++ I), gauge}]}} || I <- local_interfaces() ] ++
  +
  +        [{graph, #{title => "Network receive (bytes) - " ++ I,
                     units => "bytes",
  -                  metrics => [{metric_name("netrx." ++ I), gauge}]}} || I <- local_interfaces() ]
  +                  metrics => [{metric_name("netrx.bytes." ++ I), gauge}]}} || I <- local_interfaces() ] ++
  +
  +        [{graph, #{title => "Network transmit (packets) - " ++ I,
  +                  units => "N",
  +                  metrics => [{metric_name("nettx.pkts." ++ I), gauge}]}} || I <- local_interfaces() ] ++
  +
  +        [{graph, #{title => "Network receive (packets) - " ++ I,
  +                  units => "N",
  +                  metrics => [{metric_name("netrx.pkts." ++ I), gauge}]}} || I <- local_interfaces() ]
                     },
        {group, "MZBench Internals", [
           {graph, #{title => "Mailbox messages",
  
positive.code:                         Name = proplists:get_value("Name", Proplist),
                          IBytes = proplists:get_value("Ibytes", Proplist),
                          OBytes = proplists:get_value("Obytes", Proplist),
                          {true, {Name, [{ibytes, list_to_integer(IBytes)}, {obytes, list_to_integer(OBytes)}]}}
                  catch
                      _:_ -> false
                  end
  
negative.code:                     OldPL ->
                          CurrentRX = proplists:get_value(ibytes, PL),
                          OldRX = proplists:get_value(ibytes, OldPL),
                          RXRate = (CurrentRX - OldRX) / (LastIntervalDuration / 1000),
  
                          CurrentTX = proplists:get_value(obytes, PL),
                          OldTX = proplists:get_value(obytes, OldPL),
                          TXRate = (CurrentTX - OldTX) / (LastIntervalDuration / 1000),
  
                          CurrentRXpkts = proplists:get_value(ipkts, PL),
                          OldRXpkts = proplists:get_value(ipkts, OldPL),
                          RXPktRate = (CurrentRXpkts - OldRXpkts) / (LastIntervalDuration / 1000),
  
                          CurrentTXpkts = proplists:get_value(opkts, PL),
                          OldTXpkts = proplists:get_value(opkts, OldPL),
                          TXPktRate = (CurrentTXpkts - OldTXpkts) / (LastIntervalDuration / 1000),
  
                          ok = mzb_metrics:notify({metric_name("netrx.bytes."++IfName), gauge}, RXRate),
                          ok = mzb_metrics:notify({metric_name("nettx.bytes."++IfName), gauge}, TXRate),
                          ok = mzb_metrics:notify({metric_name("netrx.pkts."++IfName), gauge}, RXPktRate),
                          ok = mzb_metrics:notify({metric_name("nettx.pkts."++IfName), gauge}, TXPktRate)
                  end
          end, NetStat),
  
  