http://www.mediawiki.org/wiki/Special:Code/MediaWiki/72516

Revision: 72516
Author:   tstarling
Date:     2010-09-07 03:37:56 +0000 (Tue, 07 Sep 2010)

Log Message:
-----------
Sort hosts for display. Show total above breakdown.

Modified Paths:
--------------
    trunk/udplog/srcmisc/packet-loss.cpp

Modified: trunk/udplog/srcmisc/packet-loss.cpp
===================================================================
--- trunk/udplog/srcmisc/packet-loss.cpp        2010-09-07 03:25:46 UTC (rev 
72515)
+++ trunk/udplog/srcmisc/packet-loss.cpp        2010-09-07 03:37:56 UTC (rev 
72516)
@@ -1,5 +1,6 @@
 #include <iostream>
 #include <boost/tr1/unordered_map.hpp>
+#include <map>
 #include <stdint.h>
 #include <boost/lexical_cast.hpp>
 #include <cstring>
@@ -170,6 +171,7 @@
        PrintRatio(outOfOrder, total, sqrt(total));
        cout << "\n";
 
+       map<string, HostData> sortedHosts;
        HostIterator iter;
        int64_t totalSent = 0, totalReceived = 0;
        for (iter = hosts.begin(); iter != hosts.end(); iter++) {
@@ -177,13 +179,7 @@
                        // Sample size too small
                        continue;
                }
-               cout << timebuf << iter->first << " lost: ";
-               PrintRatio(
-                       iter->second.sent - iter->second.received * sampleRate, 
-                       iter->second.sent,
-                       sqrt(iter->second.received) * sampleRate
-               );
-               cout << "\n";
+               sortedHosts[iter->first] = iter->second;
                totalSent += iter->second.sent;
                totalReceived += iter->second.received;
        }
@@ -195,6 +191,17 @@
                sqrt(totalReceived) * sampleRate
        );
        cout << "\n";
+
+       map<string, HostData>::iterator sortedIter;
+       for (sortedIter = sortedHosts.begin(); sortedIter != sortedHosts.end(); 
sortedIter++) {
+               cout << timebuf << sortedIter->first << " lost: ";
+               PrintRatio(
+                       sortedIter->second.sent - sortedIter->second.received * 
sampleRate, 
+                       sortedIter->second.sent,
+                       sqrt(sortedIter->second.received) * sampleRate
+               );
+               cout << "\n";
+       }
 }
 
 void SampleData::PrintRatio(int64_t numerator, int64_t denominator, double 
numeratorError) {



_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to