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;
+ }
+
}