Author: toad
Date: 2007-11-30 00:40:53 +0000 (Fri, 30 Nov 2007)
New Revision: 16111

Modified:
   trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
   trunk/freenet/src/freenet/node/NodeStats.java
Log:
Show both local and remote rejection stats

Modified: trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java       
2007-11-30 00:30:44 UTC (rev 16110)
+++ trunk/freenet/src/freenet/clients/http/StatisticsToadlet.java       
2007-11-30 00:40:53 UTC (rev 16111)
@@ -272,7 +272,8 @@
                        getThreadNames(threadUsageList);

                        // rejection reasons box
-                       drawRejectReasonsBox(nextTableCell);
+                       drawRejectReasonsBox(nextTableCell, false);
+                       drawRejectReasonsBox(nextTableCell, true);              
        

                        // peer distribution box
                        overviewTableRow = overviewTable.addChild("tr");
@@ -293,12 +294,15 @@
                this.writeHTMLReply(ctx, 200, "OK", pageNode.generate());
        }

-       private void drawRejectReasonsBox(HTMLNode nextTableCell) {
+       private void drawRejectReasonsBox(HTMLNode nextTableCell, boolean 
local) {
                HTMLNode rejectReasonsTable = new HTMLNode("table");
-               if(!node.nodeStats.getRejectReasonsTable(rejectReasonsTable))
+               NodeStats stats = node.nodeStats;
+               boolean success = local ? 
stats.getLocalRejectReasonsTable(rejectReasonsTable) :
+                       stats.getRejectReasonsTable(rejectReasonsTable);
+               if(!success)
                        return;
                HTMLNode rejectReasonsInfobox = nextTableCell.addChild("div", 
"class", "infobox");
-               rejectReasonsInfobox.addChild("div", "class", "infobox-header", 
"Preemptive Rejection Reasons");
+               rejectReasonsInfobox.addChild("div", "class", "infobox-header", 
(local ? "Local " : "")+"Preemptive Rejection Reasons");
                rejectReasonsInfobox.addChild("div", "class", 
"infobox-content").addChild(rejectReasonsTable);
        }


Modified: trunk/freenet/src/freenet/node/NodeStats.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStats.java       2007-11-30 00:30:44 UTC 
(rev 16110)
+++ trunk/freenet/src/freenet/node/NodeStats.java       2007-11-30 00:40:53 UTC 
(rev 16111)
@@ -150,6 +150,7 @@
        final NodePinger nodePinger;

        final StringCounter preemptiveRejectReasons;
+       final StringCounter localPreemptiveRejectReasons;

        // Enable this if you run into hard to debug OOMs.
        // Disabled to prevent long pauses every 30 seconds.
@@ -169,6 +170,7 @@
                this.routingMissDistance = new TimeDecayingRunningAverage(0.0, 
180000, 0.0, 1.0, node);
                this.backedOffPercent = new TimeDecayingRunningAverage(0.0, 
180000, 0.0, 1.0, node);
                preemptiveRejectReasons = new StringCounter();
+               localPreemptiveRejectReasons = new StringCounter();
                pInstantRejectIncoming = new TimeDecayingRunningAverage(0, 
60000, 0.0, 1.0, node);
                ThreadGroup tg = Thread.currentThread().getThreadGroup();
                while(tg.getParent() != null) tg = tg.getParent();
@@ -506,6 +508,7 @@

        private void rejected(String reason, boolean isLocal) {
                if(!isLocal) preemptiveRejectReasons.inc(reason);
+               else this.localPreemptiveRejectReasons.inc(reason);
        }

        private RunningAverage getThrottle(boolean isLocal, boolean isInsert, 
boolean isSSK, boolean isSent) {
@@ -927,4 +930,8 @@
                return preemptiveRejectReasons.toTableRows(table) > 0;
        }

+       public boolean getLocalRejectReasonsTable(HTMLNode table) {
+               return localPreemptiveRejectReasons.toTableRows(table) > 0;
+       }
+
 }


Reply via email to