In the meantime I found a workaround which makes the PPS and the Bandwidth column showing the correct values.
status_queues.php is reading from a file called /tmp/qstats
This /tmp/qstats file is already having the sum of each child queues for the root queue for bandwidth and PPS. But the PHP code still adds the amount of all child queues to it which is causing the doubles.
I did a change in status_queues.php to fix it. I commented two lines (highlighted in red):
function statsQueues($xml){
global $statistics;
$current = new QueueStats();
$child = new QueueStats();
$current->queuename = $xml['name'] . $xml['interface'];
$current->queuelength = $xml['qlength'];
$current->pps = $xml['measured'];
$current->bandwidth = $xml['measuredspeedint'];
$current->borrows = intval($xml['borrows']);
$current->suspends = intval($xml['suspends']);
$current->drops = intval($xml['droppedpkts']);
if (is_array($xml['queue'])) {
foreach($xml['queue'] as $q) {
$child = statsQueues($q);
/* $current->pps += $child->pps;
$current->bandwidth += $child->bandwidth; */
$current->borrows += $child->borrows;
$current->suspends += $child->suspends;
$current->drops += $child->drops;
}
}
unset($child);
$statistics[] = $current;
return $current;
}