mirror of
https://github.com/ntop/ntopng.git
synced 2026-04-29 15:39:33 +00:00
Add rest/v1/get/host/l7/stats.lua REST API (#3953)
This commit is contained in:
parent
462a7d4a5a
commit
9348e51924
4 changed files with 205 additions and 100 deletions
|
|
@ -1217,6 +1217,79 @@ function getCategoryLabel(cat_name)
|
|||
return(cat_name)
|
||||
end
|
||||
|
||||
-- ###########################################
|
||||
|
||||
function computeL7Stats(stats, show_breed, show_ndpi_category)
|
||||
local _ifstats = {}
|
||||
|
||||
if(show_breed) then
|
||||
local breed_stats = {}
|
||||
|
||||
for key, value in pairs(stats["ndpi"]) do
|
||||
local b = stats["ndpi"][key]["breed"]
|
||||
|
||||
local traffic = stats["ndpi"][key]["bytes.sent"] + stats["ndpi"][key]["bytes.rcvd"]
|
||||
|
||||
if(breed_stats[b] == nil) then
|
||||
breed_stats[b] = traffic
|
||||
else
|
||||
breed_stats[b] = breed_stats[b] + traffic
|
||||
end
|
||||
end
|
||||
|
||||
for key, value in pairs(breed_stats) do
|
||||
_ifstats[key] = value
|
||||
end
|
||||
|
||||
elseif(show_ndpi_category) then
|
||||
local ndpi_category_stats = {}
|
||||
|
||||
for key, value in pairs(stats["ndpi_categories"]) do
|
||||
key = getCategoryLabel(key)
|
||||
local traffic = value["bytes"]
|
||||
|
||||
if(ndpi_category_stats[key] == nil) then
|
||||
ndpi_category_stats[key] = traffic
|
||||
else
|
||||
ndpi_category_stats[key] = ndpi_category_stats[key] + traffic
|
||||
end
|
||||
end
|
||||
|
||||
for key, value in pairs(ndpi_category_stats) do
|
||||
_ifstats[key] = value
|
||||
end
|
||||
|
||||
else
|
||||
-- Add ARP to stats
|
||||
local arpBytes = 0
|
||||
if(stats["eth"] ~= nil) then
|
||||
arpBytes = stats["eth"]["ARP_bytes"]
|
||||
if(arpBytes > 0) then
|
||||
_ifstats["ARP"] = arpBytes
|
||||
end
|
||||
end
|
||||
|
||||
for key, value in pairs(stats["ndpi"]) do
|
||||
local traffic = value["bytes.sent"] + value["bytes.rcvd"]
|
||||
if(key == "Unknown") then
|
||||
traffic = traffic - arpBytes
|
||||
end
|
||||
|
||||
if(traffic > 0) then
|
||||
if(show_breed) then
|
||||
_ifstats[value["breed"]] = traffic
|
||||
else
|
||||
_ifstats[key] = traffic
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return _ifstats
|
||||
end
|
||||
|
||||
-- ###########################################
|
||||
|
||||
function getItemsNumber(n)
|
||||
tot = 0
|
||||
for k,v in pairs(n) do
|
||||
|
|
@ -1228,6 +1301,8 @@ function getItemsNumber(n)
|
|||
return(tot)
|
||||
end
|
||||
|
||||
-- ###########################################
|
||||
|
||||
function getHostCommaSeparatedList(p_hosts)
|
||||
hosts = {}
|
||||
hosts_size = 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue