anchor.diff:                      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),
  -                        RXRate = (CurrentRX - OldRX) / (LastIntervalDuration / 1000),
                           TXRate = (CurrentTX - OldTX) / (LastIntervalDuration / 1000),
   
  -                        ok = mzb_metrics:notify({metric_name("netrx."++IfName), gauge}, RXRate),
  -                        ok = mzb_metrics:notify({metric_name("nettx."++IfName), gauge}, TXRate)
  +                        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),
   
  
positive.code:             nomatch -> error({wrong_format, Str})
          end,
  
      Out =
          case re:run(Str, "TX bytes:(\\d+)", [{capture, [1], list}]) of
              {match, [OutStr]} -> erlang:list_to_integer(OutStr);
              nomatch -> error({wrong_format, Str})
          end,
      {Name, [{ibytes, In}, {obytes, Out}]}.
  
  parse_netstat_sectionV2(Str) ->
      Name =
  
negative.code:             nomatch -> error({wrong_format, Str})
          end,
  
      {In, InPkts} =
          case re:run(Str, "RX packets (\\d+)\\s+bytes (\\d+)", [{capture, [1,2], list}]) of
              {match, [InPktsStr, InStr]} -> {erlang:list_to_integer(InStr), erlang:list_to_integer(InPktsStr)};
              nomatch -> error({wrong_format, Str})
          end,
  
      {Out, OutPkts} =
          case re:run(Str, "TX packets (\\d+)\\s+bytes (\\d+)", [{capture, [1,2], list}]) of
              {match, [OutPktsStr, OutStr]} -> {erlang:list_to_integer(OutStr), erlang:list_to_integer(OutPktsStr)};
              nomatch -> error({wrong_format, Str})
          end,
  
      {Name, [{ibytes, In}, {obytes, Out}, {ipkts, InPkts}, {opkts, OutPkts}]}.
  
  