Author: toad
Date: 2008-03-13 23:13:11 +0000 (Thu, 13 Mar 2008)
New Revision: 18523
Modified:
trunk/freenet/src/freenet/node/CHKInsertHandler.java
trunk/freenet/src/freenet/node/NodeStats.java
trunk/freenet/src/freenet/node/RequestSender.java
Log:
Track total and successful receives. Log it.
Modified: trunk/freenet/src/freenet/node/CHKInsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertHandler.java 2008-03-13
23:07:17 UTC (rev 18522)
+++ trunk/freenet/src/freenet/node/CHKInsertHandler.java 2008-03-13
23:13:11 UTC (rev 18523)
@@ -409,6 +409,7 @@
receiveCompleted = true;
CHKInsertHandler.this.notifyAll();
}
+ node.nodeStats.successfulBlockReceive();
} catch (RetrievalException e) {
synchronized(CHKInsertHandler.this) {
receiveCompleted = true;
@@ -430,6 +431,7 @@
Logger.normal(this, "Failed to retrieve
(disconnect): "+e, e);
else
Logger.error(this, "Failed to retrieve
("+e.getReason()+"/"+RetrievalException.getErrString(e.getReason())+"): "+e, e);
+ node.nodeStats.failedBlockReceive();
return;
} catch (Throwable t) {
Logger.error(this, "Caught "+t, t);
Modified: trunk/freenet/src/freenet/node/NodeStats.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStats.java 2008-03-13 23:07:17 UTC
(rev 18522)
+++ trunk/freenet/src/freenet/node/NodeStats.java 2008-03-13 23:13:11 UTC
(rev 18523)
@@ -1602,5 +1602,19 @@
long uptime = node.getUptime();
return ((double)getSentOverhead() * 1000.0) / ((double) uptime);
}
+
+ private long totalReceives;
+ private long successfulReceives;
+ public synchronized void successfulBlockReceive() {
+ totalReceives++;
+ successfulReceives++;
+ if(logMINOR) Logger.minor(this, "Successful receives:
"+successfulReceives+"/"+totalReceives+" = "+((double)successfulReceives) /
((double)totalReceives));
+ }
+
+ public synchronized void failedBlockReceive() {
+ totalReceives++;
+ if(logMINOR) Logger.minor(this, "Successful receives:
"+successfulReceives+"/"+totalReceives+" = "+((double)successfulReceives) /
((double)totalReceives));
+ }
+
}
Modified: trunk/freenet/src/freenet/node/RequestSender.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestSender.java 2008-03-13 23:07:17 UTC
(rev 18522)
+++ trunk/freenet/src/freenet/node/RequestSender.java 2008-03-13 23:13:11 UTC
(rev 18523)
@@ -279,14 +279,16 @@
return;
}
finish(SUCCESS, pn, true);
+ node.nodeStats.successfulBlockReceive();
return;
} catch (RetrievalException e) {
if
(e.getReason()==RetrievalException.SENDER_DISCONNECTED)
Logger.normal(this, "Transfer failed (disconnect): "+e, e);
else
-
Logger.error(this, "Transfer failed
("+e.getReason()+"/"+RetrievalException.getErrString(e.getReason())+"): "+e, e);
+
Logger.error(this, "Transfer for offer failed
("+e.getReason()+"/"+RetrievalException.getErrString(e.getReason())+"): "+e+"
from "+pn, e);
finish(GET_OFFER_TRANSFER_FAILED, pn,
true);
offers.deleteLastOffer();
+ node.nodeStats.failedBlockReceive();
return;
}
} finally {
@@ -720,7 +722,7 @@
if
(e.getReason()==RetrievalException.SENDER_DISCONNECTED)
Logger.normal(this, "Transfer failed (disconnect): "+e, e);
else
-
Logger.error(this, "Transfer failed
("+e.getReason()+"/"+RetrievalException.getErrString(e.getReason())+"): "+e, e);
+
Logger.error(this, "Transfer failed
("+e.getReason()+"/"+RetrievalException.getErrString(e.getReason())+"): "+e+"
from "+next, e);
next.localRejectedOverload("TransferFailedRequest"+e.getReason());
finish(TRANSFER_FAILED, next, false);
node.failureTable.onFinalFailure(key,
next, htl, FailureTable.REJECT_TIME, source);