Implements MySQL Top Talkers Retrieval and Visualization

Overal Top Talkers are retrieved with just one single
MySQL query and include both ipv4 and ipv4. Top talkers
can be visualized on a per-interface and per-host basis,
and can be sliced and diced.
This commit is contained in:
Simone Mainardi 2016-02-08 21:35:27 +01:00
parent bfb47398b3
commit 08622e8f18
4 changed files with 110 additions and 12 deletions

View file

@ -12,7 +12,7 @@ function historicalTopTalkersTable(ifid, epoch_begin, epoch_end, host)
local sort_column= getDefaultTableSort("historical_stats_top_talkers")
if not sort_column or sort_column == "column_" then sort_column = "column_bytes" end
print[[
<div id="historical-top-talkers-table">
<div id="historical-top-talkers-table" total_rows=-1>
</div>
@ -28,15 +28,17 @@ if preference ~= "" then print ('perPage: '..preference.. ",\n") end
-- Automatic default sorted. NB: the column must be exists.
print ('sort: [ ["'..sort_column..'","'..sort_order..'"] ],\n')
print [[
post: {totalRows: function(){ return $('#historical-top-talkers-table').attr("total_rows");} },
showFilter: true,
showPagination: true,
tableCallback: function(){$('#historical-top-talkers-table').attr("total_rows", this.options.totalRows);},
columns:
[
{title: "Address", field: "column_addr", hidden: true},
{title: "Host Name", field: "column_label", sortable: true},
{title: "Traffic Volume", field: "column_bytes", sortable: true},
{title: "Packets", field: "column_packets", sortable: true},
{title: "Flows", field: "column_flows", sortable: true}
{title: "Traffic Volume", field: "column_bytes", sortable: true,css: {textAlign:'right'}},
{title: "Packets", field: "column_packets", sortable: true, css: {textAlign:'right'}},
{title: "Flows", field: "column_flows", sortable: true, css: {textAlign:'right'}}
]
});