--
-- (C) 2019 - ntop.org
--

local ts_utils = require "ts_utils_core"

local ts_custom = {}

local function setup()
   -- SCHEMAS MUST BE ADDED IN THIS FUNCTION
   --
   -- This is an example of a minute (60 sec) counter
   --
   local schema
   
   schema = ts_utils.newSchema("iface:tcp_seq_errors", {step = 60})
   schema:addTag("ifid")
   schema:addMetric("packets")
end

function ts_custom.iface_update_stats(when, _ifname, ifstats, verbose)
   -- THIS IS THE FUNCTION THAT IS CALLED EVERY MINUTE BY NTOPNG
   -- USE THIS TO append() TO THE TIMESERIES

   ts_utils.append("iface:tcp_seq_errors",
		   {ifid = ifstats.id,
		    packets = ifstats.tcpPacketStats.retransmissions
		       + ifstats.tcpPacketStats.out_of_order
		       + ifstats.tcpPacketStats.lost},
		   when, verbose)
end

setup()
return ts_custom
