Commit 10d555ae authored by 's avatar

Packetloss - fixed some stats, improved timing.

GUI - better categorization/filtering of stats, 1 host to n, some fixes.


git-svn-id: file:///home/svn/mapi/trunk@1357 8d5bb341-7cf1-0310-8cf6-ba355fef3186
parent bbe20b3b
......@@ -184,14 +184,6 @@ acronym, abbr, dfn {
padding: 0.1em 0em 0.1em 0.5em; /* MSIE multiplies float margin 2x, have to use padding */
}
.subj0 {
color: red;
}
.subj1 {
color: blue;
}
div.altitle-a { /* Do NOT remove -- altitle depends on this. */
border-width: 1px;
border-color: #2090FF;
......@@ -241,6 +233,6 @@ div.altitle-top {
}
.important:after {
content: " ( ! ) ";
content: " ! ";
background-color: #FFFF00;
}
This diff is collapsed.
......@@ -99,16 +99,17 @@ var packetlossTop = {
for(var i = 0; i < packetlossTop.bufferarr.length; i++) {
var record = packetlossTop.bufferarr[i].split(";");
var category = record[0];
var h0 = record[1];
var d0 = record[2];
var relation = record[3];
var h1 = record[4];
var d1 = record[5];
var id = record[6];
var label = record[7];
var value = record[8];
var unit = record[9];
var stats = record[0];
var category = record[1];
var h0 = record[2];
var d0 = record[3];
var relation = record[4];
var h1 = record[5];
var d1 = record[6];
var id = record[7];
var label = record[8];
var value = record[9];
var unit = record[10];
if(id == "ts") {
packetlossTop.uptodate = (parseInt(value) + packetlossTop.last_ts_tolerance) > packetlossTop.last_ts;
......@@ -163,7 +164,7 @@ var packetlossTop = {
var value = record["value"];
var unit = record["unit"];
var uid = ("_" + h0 + d0 + relation + h1 + d1 + id).replace(/\*/g, "_");
var uid = ("id_" + h0 + d0 + relation + h1 + d1 + id).replace(/\*/g, "_");
if(!packetlossTop.objarr[uid]) {
packetlossTop.objarr[uid] = document.getElementById(uid);
}
......
......@@ -66,9 +66,9 @@ class Graph {
for($i = 0; $i < count($rarr); $i++) {
$line = trim($rarr[$i]);
$record = explode(";", $line);
if ($record[6] == "hostname" && $record[1] != "*") {
$h = $record[1];
$hostname = $record[8];
if ($record[7] == "hostname" && $record[2] != "*") {
$h = $record[2];
$hostname = $record[9];
$this->hostarr[$h] = $hostname;
if($this->logging) $this->logger->smartlog("graph: $h => $hostname");
}
......@@ -82,12 +82,12 @@ class Graph {
switch ($this->type) {
case "packetloss":
$this->rrd_filename = $this->config->packetloss_rrd;
$this->title = "Packet Loss Ratio from $datestartstr to $dateendstr";
$this->title = "Packet Loss Ratio"; # from $datestartstr to $dateendstr";
$this->__setup_command_packetloss();
break;
case "packetcount":
$this->rrd_filename = $this->config->packetcount_rrd;
$this->title = "Lost packets from $datestartstr to $dateendstr";
$this->title = "Lost packets"; # from $datestartstr to $dateendstr";
$this->__setup_command_packetcount();
break;
}
......@@ -197,7 +197,7 @@ EOC;
"DEF:flow1_min=$this->rrd_filename:$flow1:$MAX:step=$this->min" \
"AREA:$flow0#00FF00:$host0name to $host1name" \
"LINE:0" \
"AREA:$flow1#0066FF:$host1name to $host0namen:STACK" \
"AREA:$flow1#0066FF:$host1name to $host0name:STACK" \
"LINE:0#000000" \
COMMENT:"\\n" \\\n
EOC;
......
......@@ -25,7 +25,7 @@ class PacketlossTop {
var $arr = array();
var $descarr = array(
"category", "h0", "d0", "relation", "h1", "d1", "id", "label", "value", "unit", "ct"
"stats", "category", "h0", "d0", "relation", "h1", "d1", "id", "label", "value", "unit", "ct"
);
var $hostarr = array();
......@@ -43,10 +43,10 @@ class PacketlossTop {
"description" => "The filter expression used to filter all packets (pcap filter).\nFiltered packets/flows does not appear in any stats!"),
"packets_count_min" => array(
"label" => "Ignore flows with less packets than...",
"description" => "These flows are ignored at host/device. They do not appear in 'external stats'.\nValue of '2' is OK, higher means restrictive filtering and lower precision of packetloss application. "),
"description" => "These flows are ignored at host/device. They do not appear in 'external stats'.\nValue of '2' is OK, higher means restrictive filtering and lower precision of packetloss application.\nIgnoring flows of 1 packet size is useful for\n1) performance reasons and\n2) for better precissions.\nIf they were not ignored, there would be a problem with precision, as only 'succesfull' 1-packet flows would be counted to the host-to-host packet loss statistics, not as the 'unsuccessful / lost' 1-packet flows."),
"expired_flows_list_size_max" => array(
"label" => "Internal buffer size for expired flows at hosts/devices",
"description" => "Expired flows at hosts/devices which are not ignored are shipped. If there is no room for all records, these are buffered (or dropped if there is no room in the buffer either)."),
"description" => "Expired flows at hosts/devices which are not ignored are shipped. If there is no room for all records to ship, the remaining are buffered (or dropped if there is no room in the buffer either)."),
// }}}
// basic information host/device {{{
"hostname" => array(
......@@ -105,13 +105,13 @@ class PacketlossTop {
"description" => "Note: Some partitioned flows might be joined together, so this value can be lower than number of flows shipped (send) from this host/interface."),
"tfmh" => array(
"label" => "Total flows matched",
"description" => "Ideally, all (100 %) of received flows will match."),
"description" => "Ideally (…), 100 % of received flows will match.\nIf this value is low, see 'timeouted flows' for more information."),
"tfuh" => array(
"label" => "Total flows unmatched (may match later)",
"description" => "Some of these flows may match later, the rest will be 'timeouted'."),
"tfth" => array(
"label" => "Total flows timeouted (will never match)",
"description" => "We gave up waiting for relevant data from 'the other side'.\nIf this value is high, probably too many flows are dropped at host/interface (see 'internal stats').\nIf this value is extremely high, maybe flows are routed somewhere else (not through any of measured subject)."),
"description" => "We gave up waiting for relevant data from 'the other side'.\nIf this value is high, probably too many flows are dropped at host/interface (see 'internal stats').\nIf this value is extremely high, maybe many flows are routed somewhere else (not through any pair of measured subjects)."),
//"tph" => array(
// "label" => "Total packets",
// "description" => ""),
......@@ -123,7 +123,10 @@ class PacketlossTop {
"description" => "Please note that some packets may simply match with other host (if there is such), so low value might be ok."),
"tpl" => array(
"label" => "Total packets lost",
"description" => "As expected, lower value is better."),
"description" => "As expected, lower value is better.\nNote: Some flows might be filtered (see 'pcap filter'), some ignored (see 'Ignore flows with less packets than…' filter to check up the settings and see 'internal stats' – 'ignored flows' to check up how many flows are ignored). Some flows might be dropped too (see 'internal stats' – 'dropped flows').\nSo, the percentual value means X % of packets of processed flows."),
"tbl" => array(
"label" => "Total bytes lost",
"description" => "As expected, lower value is better.\nNote: Some flows might be filtered (see 'pcap filter'), some ignored (see 'Ignore flows with less packets than…' filter to check up the settings and see 'internal stats' – 'ignored flows' to check up how many flows are ignored). Some flows might be dropped too (see 'internal stats' – 'dropped flows').\nSo, the percentual value means X % of bytes of processed flows."),
// }}}
// external statistics - overall {{{
/*
......
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment