New status queues page
-
Now the current snapshot (built on Tue Feb 12 08:58:18 EST 2013) shows speed as bits, but b and Kb values do not have /sec (ps) added to them, Mb (Mbps) and Gb (Gbps) have.
Pull request #408:
+ return sprintf("%.2f Gbps", $bits/1000000000);
258
+ } else if ($bits >= 1000000) {
259
+ return sprintf("%.2f Mbps", $bits/1000000);
260
+ } else if ($bits >= 1000) {
261
+ return sprintf("%.2f Kb", $bits/1000);
262
+ } else {
263
+ return sprintf("%d b", $bits);![Screen Shot 2013-02-12 at 21.10.59.JPG](/public/imported_attachments/1/Screen Shot 2013-02-12 at 21.10.59.JPG)
![Screen Shot 2013-02-12 at 21.10.59.JPG_thumb](/public/imported_attachments/1/Screen Shot 2013-02-12 at 21.10.59.JPG_thumb) -
And the Borrows/Suspends/Drops are constantly zero even though /tmp/qstats -file shows dropped packets:
<name>qLow</name>
<interface>rl0</interface>
<bandwidth>1.54Mb</bandwidth>
<pkts>89501</pkts><bytes>107993429</bytes><droppedpkts>4573</droppedpkts><droppedbytes>5313251</droppedbytes><qlength>2/50</qlength><measured>69.3</measured><measuredspeed>604.79Kb</measuredspeed><measuredspeedint>604788.5</measuredspeedint>![Screen Shot 2013-02-14 at 13.37.33.JPG](/public/imported_attachments/1/Screen Shot 2013-02-14 at 13.37.33.JPG)
![Screen Shot 2013-02-14 at 13.37.33.JPG_thumb](/public/imported_attachments/1/Screen Shot 2013-02-14 at 13.37.33.JPG_thumb) -
any update when this page will display the interface then the queues?
-
any update when this page will display the interface then the queues?
For me now snapshot built on Wed Feb 13 16:46:49 EST 2013 (and few before that) shows interface and then queues, but only if I select scheduler type HFSC or CBQ. If I use scheduler FAIRQ or PRIQ then the interfaces are not shown.
![HFSC or CBQ.JPG](/public/imported_attachments/1/HFSC or CBQ.JPG)
![HFSC or CBQ.JPG_thumb](/public/imported_attachments/1/HFSC or CBQ.JPG_thumb)
![FAIRQ or PRIQ.JPG](/public/imported_attachments/1/FAIRQ or PRIQ.JPG)
![FAIRQ or PRIQ.JPG_thumb](/public/imported_attachments/1/FAIRQ or PRIQ.JPG_thumb) -
i'm using PRIQ :-(
-
Do we have an ETA when the new queue status page will be fully operational?
-
Hi Cino,
I just released a version that fixes the drops issue. The borrows/suspends should also be shown.
Btw, I will check also the other types of queues, I need to see what qstats saves in that cases.Ciao,
Michele -
Hey,
everything should be fixed in the next release…Ciao,
Michele -
Hey,
everything should be fixed in the next release…Ciao,
MicheleThank you Michele… The page looks sweet!
-
You're welcome Cino! Even if the best result is with a hierarchical queue scheduler type (see image).
I can't wait to implement version 2.1 in my production environment when it will be ready, so I can see it in action with real traffic!
Ciao,
Michele
-
the length field never gets populated
-
the length field never gets populated
well… which scheduler type are you using? And, please post your /tmp/qstats file, so we can take a look at it
-
CBQ
<altqstats><queue><name>root_pppoe0</name> <interface>pppoe0</interface> <bandwidth>1Mb</bandwidth> <priority>0</priority> <pkts>5261</pkts><bytes>920848</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/50</qlength><borrows>0</borrows><suspends>0</suspends><measured>84.8</measured><measuredspeed>110.17Kb</measuredspeed><measuredspeedint>110173.5</measuredspeedint> <queue><name>qACK</name> <interface>pppoe0</interface> <bandwidth>1Mb</bandwidth> <priority>6</priority> <qlimit>150</qlimit> <pkts>4552</pkts><bytes>186740</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/150</qlength><borrows>0</borrows><suspends>0</suspends><measured>74.4</measured><measuredspeed>24.40Kb</measuredspeed><measuredspeedint>24401.0</measuredspeedint></queue> <queue><name>qOthersDefault</name> <interface>pppoe0</interface> <bandwidth>1Mb</bandwidth> <priority>4</priority> <qlimit>150</qlimit> <pkts>581</pkts><bytes>724307</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/150</qlength><borrows>507</borrows><suspends>0</suspends><measured>8.5</measured><measuredspeed>84.58Kb</measuredspeed><measuredspeedint>84575.1</measuredspeedint></queue> <queue><name>qP2P</name> <interface>pppoe0</interface> <bandwidth>1Mb</bandwidth> <qlimit>100</qlimit> <pkts>17</pkts><bytes>2234</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/100</qlength><borrows>0</borrows><suspends>0</suspends><measured>0.3</measured><measuredspeed>265.96 b</measuredspeed><measuredspeedint>266.0</measuredspeedint></queue> <queue><name>qVoIP</name> <interface>pppoe0</interface> <bandwidth>1Mb</bandwidth> <priority>7</priority> <qlimit>120</qlimit> <pkts>8</pkts><bytes>752</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/120</qlength><borrows>0</borrows><suspends>0</suspends><measured>0.1</measured><measuredspeed>86.04 b</measuredspeed><measuredspeedint>86.0</measuredspeedint></queue> <queue><name>qOthersHigh</name> <interface>pppoe0</interface> <bandwidth>1Mb</bandwidth> <priority>5</priority> <pkts>103</pkts><bytes>6815</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/50</qlength><borrows>0</borrows><suspends>0</suspends><measured>1.6</measured><measuredspeed>845.35 b</measuredspeed><measuredspeedint>845.4</measuredspeedint></queue></queue> <queue><name>root_vr0</name> <interface>vr0</interface> <bandwidth>16Mb</bandwidth> <priority>0</priority> <pkts>10087</pkts><bytes>14014218</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/50</qlength><borrows>0</borrows><suspends>0</suspends><measured>164.6</measured><measuredspeed>1.84Mb</measuredspeed><measuredspeedint>1840151.0</measuredspeedint> <queue><name>qACK</name> <interface>vr0</interface> <bandwidth>16Mb</bandwidth> <priority>6</priority> <qlimit>150</qlimit> <pkts>434</pkts><bytes>26388</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/150</qlength><borrows>0</borrows><suspends>0</suspends><measured>6.4</measured><measuredspeed>3.10Kb</measuredspeed><measuredspeedint>3098.7</measuredspeedint></queue> <queue><name>qOthersDefault</name> <interface>vr0</interface> <bandwidth>16Mb</bandwidth> <priority>4</priority> <qlimit>150</qlimit> <pkts>9525</pkts><bytes>13916340</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/150</qlength><borrows>8409</borrows><suspends>0</suspends><measured>156.2</measured><measuredspeed>1.83Mb</measuredspeed><measuredspeedint>1827647.6</measuredspeedint></queue> <queue><name>qP2P</name> <interface>vr0</interface> <bandwidth>16Mb</bandwidth> <qlimit>100</qlimit> <pkts>115</pkts><bytes>70684</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/100</qlength><borrows>0</borrows><suspends>0</suspends><measured>1.8</measured><measuredspeed>9.30Kb</measuredspeed><measuredspeedint>9298.2</measuredspeedint></queue> <queue><name>qVoIP</name> <interface>vr0</interface> <bandwidth>16Mb</bandwidth> <priority>7</priority> <qlimit>120</qlimit> <pkts>0</pkts><bytes>0</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/120</qlength><borrows>0</borrows><suspends>0</suspends><measured>0.0</measured><measuredspeed>0 b</measuredspeed><measuredspeedint>0.0</measuredspeedint></queue> <queue><name>qOthersHigh</name> <interface>vr0</interface> <bandwidth>16Mb</bandwidth> <priority>5</priority> <pkts>13</pkts><bytes>806</bytes><droppedpkts>0</droppedpkts><droppedbytes>0</droppedbytes><qlength>0/50</qlength><borrows>0</borrows><suspends>0</suspends><measured>0.2</measured><measuredspeed>106.47 b</measuredspeed><measuredspeedint>106.5</measuredspeedint></queue></queue></altqstats>
-
Hi xbipin,
I was forcing my development pfSense to load your qstats output, and I can confirm you that the length field gets populated. The values "0/50", "0/150" and so on are the exact values that qstats reports as length of the queue.Probably you mean "why 0"? Because just there are not any packets in the queue, your internet connection is fast enough to handle the packets without "parking" them in the queue. Try to lower the bandwidth available in your root queue (try for example 1Mbit) and you will see some packets left in the queue.
Ciao,
Michele -
i tried lowering the download speed to 1mbps and i do see the length now getting populated but it seems the root queue doesnt populate, only the child queues do
-
also i modified the root queue length to 150 but it still shows 0/50 instead of 0/150, the child queue length show fine as configured
-
Ok, that works then!
About the root queue, it is normal, since each queue has his own length and is managed individually (I can't aggregate that data as I do for the rest of the statistics, it would not make any sense).
Ciao,
Michele -
so wouldnt it be better to simply remove length field from root queue
-
Well, qstats (the program that extracts the statistics from the queues) and the page (that reads/aggregate/shows that data) do not know which traffic is assigned to which queue. I can't exclude that the root queue can handle some traffic…
If someone in this forum can confirm that the root queue will not handle ANY traffic in ANY case I can just hide the field "length" for the root queue (it really takes a second)...
-
IIRC the root queue is just the definition for your queues. It's something like
altq on em1 hfsc bandwidth 5Mb queue { qACK, qDefault, qVoIP }
You cannot put anything in there, everything that is not classified goes into the default queue.