Author: toad
Date: 2007-03-24 22:24:06 +0000 (Sat, 24 Mar 2007)
New Revision: 12351
Modified:
trunk/freenet/src/freenet/node/InsertHandler.java
trunk/freenet/src/freenet/node/NodeClientCore.java
trunk/freenet/src/freenet/node/NodeStats.java
trunk/freenet/src/freenet/node/RequestHandler.java
trunk/freenet/src/freenet/node/SSKInsertHandler.java
Log:
Track average bytes used by successful requests of each type
Modified: trunk/freenet/src/freenet/node/InsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/InsertHandler.java 2007-03-24 22:13:17 UTC
(rev 12350)
+++ trunk/freenet/src/freenet/node/InsertHandler.java 2007-03-24 22:24:06 UTC
(rev 12351)
@@ -340,6 +340,10 @@
if(logMINOR) Logger.minor(this, "Remote CHK insert cost
"+totalSent+ '/' +totalReceived+" bytes ("+code+ ')');
node.nodeStats.remoteChkInsertBytesSentAverage.report(totalSent);
node.nodeStats.remoteChkInsertBytesReceivedAverage.report(totalReceived);
+ if(code == CHKInsertSender.SUCCESS) {
+
node.nodeStats.successfulChkInsertBytesSentAverage.report(totalSent);
+
node.nodeStats.successfulChkInsertBytesReceivedAverage.report(totalSent);
+ }
}
}
Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java 2007-03-24 22:13:17 UTC
(rev 12350)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java 2007-03-24 22:24:06 UTC
(rev 12351)
@@ -447,6 +447,10 @@
if(logMINOR) Logger.minor(this, "CHK fetch cost
"+rs.getTotalSentBytes()+ '/' +rs.getTotalReceivedBytes()+" bytes ("+status+
')');
nodeStats.localChkFetchBytesSentAverage.report(rs.getTotalSentBytes());
nodeStats.localChkFetchBytesReceivedAverage.report(rs.getTotalReceivedBytes());
+ if(status == RequestSender.SUCCESS) {
+
nodeStats.successfulChkFetchBytesSentAverage.report(rs.getTotalSentBytes());
+
nodeStats.successfulChkFetchBytesReceivedAverage.report(rs.getTotalReceivedBytes());
+ }
}
if((status == RequestSender.TIMED_OUT) ||
@@ -550,6 +554,10 @@
if(logMINOR) Logger.minor(this, "SSK fetch cost
"+rs.getTotalSentBytes()+ '/' +rs.getTotalReceivedBytes()+" bytes ("+status+
')');
nodeStats.localSskFetchBytesSentAverage.report(rs.getTotalSentBytes());
nodeStats.localSskFetchBytesReceivedAverage.report(rs.getTotalReceivedBytes());
+ if(status == RequestSender.SUCCESS) {
+
nodeStats.successfulSskFetchBytesSentAverage.report(rs.getTotalSentBytes());
+
nodeStats.successfulSskFetchBytesReceivedAverage.report(rs.getTotalReceivedBytes());
+ }
}
if((status == RequestSender.TIMED_OUT) ||
@@ -697,6 +705,10 @@
if(logMINOR) Logger.minor(this, "Local CHK insert cost "+sent+
'/' +received+" bytes ("+status+ ')');
nodeStats.localChkInsertBytesSentAverage.report(sent);
nodeStats.localChkInsertBytesReceivedAverage.report(received);
+ if(status == CHKInsertSender.SUCCESS) {
+
nodeStats.successfulChkInsertBytesSentAverage.report(sent);
+
nodeStats.successfulChkInsertBytesReceivedAverage.report(received);
+ }
}
if(status == CHKInsertSender.SUCCESS) {
@@ -808,6 +820,10 @@
if(logMINOR) Logger.minor(this, "Local SSK insert cost "+sent+
'/' +received+" bytes ("+status+ ')');
nodeStats.localSskInsertBytesSentAverage.report(sent);
nodeStats.localSskInsertBytesReceivedAverage.report(received);
+ if(status == SSKInsertSender.SUCCESS) {
+
nodeStats.successfulSskInsertBytesSentAverage.report(sent);
+
nodeStats.successfulSskInsertBytesReceivedAverage.report(received);
+ }
}
if(is.hasCollided()) {
Modified: trunk/freenet/src/freenet/node/NodeStats.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeStats.java 2007-03-24 22:13:17 UTC
(rev 12350)
+++ trunk/freenet/src/freenet/node/NodeStats.java 2007-03-24 22:24:06 UTC
(rev 12351)
@@ -78,7 +78,7 @@
/** Average delay caused by throttling for sending a packet */
final TimeDecayingRunningAverage throttledPacketSendAverage;
- // Stats
+ // Bytes used by each different type of local/remote chk/ssk
request/insert
final TimeDecayingRunningAverage remoteChkFetchBytesSentAverage;
final TimeDecayingRunningAverage remoteSskFetchBytesSentAverage;
final TimeDecayingRunningAverage remoteChkInsertBytesSentAverage;
@@ -95,6 +95,16 @@
final TimeDecayingRunningAverage localSskFetchBytesReceivedAverage;
final TimeDecayingRunningAverage localChkInsertBytesReceivedAverage;
final TimeDecayingRunningAverage localSskInsertBytesReceivedAverage;
+
+ // Bytes used by successful chk/ssk request/insert
+ final TimeDecayingRunningAverage successfulChkFetchBytesSentAverage;
+ final TimeDecayingRunningAverage successfulSskFetchBytesSentAverage;
+ final TimeDecayingRunningAverage successfulChkInsertBytesSentAverage;
+ final TimeDecayingRunningAverage successfulSskInsertBytesSentAverage;
+ final TimeDecayingRunningAverage successfulChkFetchBytesReceivedAverage;
+ final TimeDecayingRunningAverage successfulSskFetchBytesReceivedAverage;
+ final TimeDecayingRunningAverage
successfulChkInsertBytesReceivedAverage;
+ final TimeDecayingRunningAverage
successfulSskInsertBytesReceivedAverage;
File persistTarget;
File persistTemp;
@@ -224,6 +234,15 @@
remoteChkInsertBytesReceivedAverage = new
TimeDecayingRunningAverage(32768+1024+500, 180000, 0.0, 1024*1024*1024,
throttleFS == null ? null :
throttleFS.subset("RemoteChkInsertBytesReceivedAverage"));
remoteSskInsertBytesReceivedAverage = new
TimeDecayingRunningAverage(1024+1024+500, 180000, 0.0, 1024*1024*1024,
throttleFS == null ? null :
throttleFS.subset("RemoteSskInsertBytesReceivedAverage"));
+ successfulChkFetchBytesSentAverage = new
TimeDecayingRunningAverage(500, 180000, 0.0, 1024*1024*1024, throttleFS == null
? null : throttleFS.subset("SuccessfulChkFetchBytesSentAverage"));
+ successfulSskFetchBytesSentAverage = new
TimeDecayingRunningAverage(500, 180000, 0.0, 1024*1024*1024, throttleFS == null
? null : throttleFS.subset("SuccessfulSskFetchBytesSentAverage"));
+ successfulChkInsertBytesSentAverage = new
TimeDecayingRunningAverage(32768, 180000, 0.0, 1024*1024*1024, throttleFS ==
null ? null : throttleFS.subset("SuccessfulChkInsertBytesSentAverage"));
+ successfulSskInsertBytesSentAverage = new
TimeDecayingRunningAverage(2048, 180000, 0.0, 1024*1024*1024, throttleFS ==
null ? null : throttleFS.subset("SuccessfulSskInsertBytesSentAverage"));
+ successfulChkFetchBytesReceivedAverage = new
TimeDecayingRunningAverage(32768, 180000, 0.0, 1024*1024*1024, throttleFS ==
null ? null : throttleFS.subset("SuccessfulChkFetchBytesReceivedAverage"));
+ successfulSskFetchBytesReceivedAverage = new
TimeDecayingRunningAverage(2048, 180000, 0.0, 1024*1024*1024, throttleFS ==
null ? null : throttleFS.subset("SuccessfulSskFetchBytesReceivedAverage"));
+ successfulChkInsertBytesReceivedAverage = new
TimeDecayingRunningAverage(1024, 180000, 0.0, 1024*1024*1024, throttleFS ==
null ? null : throttleFS.subset("SuccessfulChkInsertBytesReceivedAverage"));
+ successfulSskInsertBytesReceivedAverage = new
TimeDecayingRunningAverage(500, 180000, 0.0, 1024*1024*1024, throttleFS == null
? null : throttleFS.subset("SuccessfulChkInsertBytesReceivedAverage"));
+
requestOutputThrottle =
new TokenBucket(Math.max(obwLimit*60, 32768*20),
(1000L*1000L*1000L) / obwLimit, 0);
requestInputThrottle =
@@ -365,11 +384,17 @@
" SSK insert
"+remoteSskInsertBytesSentAverage.currentValue()+ '/'
+remoteSskInsertBytesReceivedAverage.currentValue()+
" CHK fetch
"+remoteChkFetchBytesSentAverage.currentValue()+ '/'
+remoteChkFetchBytesReceivedAverage.currentValue()+
" SSK fetch
"+remoteSskFetchBytesSentAverage.currentValue()+ '/'
+remoteSskFetchBytesReceivedAverage.currentValue());
- Logger.minor(this, "Byte cost averages: LOCAL"+
+ Logger.minor(this, "Byte cost averages: LOCAL:"+
" CHK insert
"+localChkInsertBytesSentAverage.currentValue()+ '/'
+localChkInsertBytesReceivedAverage.currentValue()+
" SSK insert
"+localSskInsertBytesSentAverage.currentValue()+ '/'
+localSskInsertBytesReceivedAverage.currentValue()+
" CHK fetch
"+localChkFetchBytesSentAverage.currentValue()+ '/'
+localChkFetchBytesReceivedAverage.currentValue()+
" SSK fetch
"+localSskFetchBytesSentAverage.currentValue()+ '/'
+localSskFetchBytesReceivedAverage.currentValue());
+ Logger.minor(this, "Byte cost averages: SUCCESSFUL:"+
+ " CHK insert
"+successfulChkInsertBytesSentAverage.currentValue()+ '/'
+successfulChkInsertBytesReceivedAverage.currentValue()+
+ " SSK insert
"+successfulSskInsertBytesSentAverage.currentValue()+ '/'
+successfulSskInsertBytesReceivedAverage.currentValue()+
+ " CHK fetch
"+successfulChkFetchBytesSentAverage.currentValue()+ '/'
+successfulChkFetchBytesReceivedAverage.currentValue()+
+ " SSK fetch
"+successfulSskFetchBytesSentAverage.currentValue()+ '/'
+successfulSskFetchBytesReceivedAverage.currentValue());
+
}
public double getBwlimitDelayTime() {
@@ -445,6 +470,14 @@
fs.put("LocalSskFetchBytesReceivedAverage",
localSskFetchBytesReceivedAverage.exportFieldSet(true));
fs.put("LocalChkInsertBytesReceivedAverage",
localChkInsertBytesReceivedAverage.exportFieldSet(true));
fs.put("LocalSskInsertBytesReceivedAverage",
localSskInsertBytesReceivedAverage.exportFieldSet(true));
+ fs.put("SuccessfulChkFetchBytesSentAverage",
successfulChkFetchBytesSentAverage.exportFieldSet(true));
+ fs.put("SuccessfulSskFetchBytesSentAverage",
successfulSskFetchBytesSentAverage.exportFieldSet(true));
+ fs.put("SuccessfulChkInsertBytesSentAverage",
successfulChkInsertBytesSentAverage.exportFieldSet(true));
+ fs.put("SuccessfulSskInsertBytesSentAverage",
successfulSskInsertBytesSentAverage.exportFieldSet(true));
+ fs.put("SuccessfulChkFetchBytesReceivedAverage",
successfulChkFetchBytesReceivedAverage.exportFieldSet(true));
+ fs.put("SuccessfulSskFetchBytesReceivedAverage",
successfulSskFetchBytesReceivedAverage.exportFieldSet(true));
+ fs.put("SuccessfulChkInsertBytesReceivedAverage",
successfulChkInsertBytesReceivedAverage.exportFieldSet(true));
+ fs.put("SuccessfulSskInsertBytesReceivedAverage",
successfulSskInsertBytesReceivedAverage.exportFieldSet(true));
return fs;
}
Modified: trunk/freenet/src/freenet/node/RequestHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/RequestHandler.java 2007-03-24 22:13:17 UTC
(rev 12350)
+++ trunk/freenet/src/freenet/node/RequestHandler.java 2007-03-24 22:24:06 UTC
(rev 12351)
@@ -202,10 +202,18 @@
if(logMINOR) Logger.minor(this, "Remote SSK fetch cost
"+sent+ '/' +rcvd+" bytes ("+status+ ')');
node.nodeStats.remoteSskFetchBytesSentAverage.report(sent);
node.nodeStats.remoteSskFetchBytesReceivedAverage.report(rcvd);
+ if(status == RequestSender.SUCCESS) {
+
node.nodeStats.successfulSskFetchBytesSentAverage.report(sent);
+
node.nodeStats.successfulSskFetchBytesReceivedAverage.report(sent);
+ }
} else {
if(logMINOR) Logger.minor(this, "Remote CHK fetch cost
"+sent+ '/' +rcvd+" bytes ("+status+ ')');
node.nodeStats.remoteChkFetchBytesSentAverage.report(sent);
node.nodeStats.remoteChkFetchBytesReceivedAverage.report(rcvd);
+ if(status == RequestSender.SUCCESS) {
+
node.nodeStats.successfulChkFetchBytesSentAverage.report(sent);
+
node.nodeStats.successfulChkFetchBytesReceivedAverage.report(sent);
+ }
}
}
Modified: trunk/freenet/src/freenet/node/SSKInsertHandler.java
===================================================================
--- trunk/freenet/src/freenet/node/SSKInsertHandler.java 2007-03-24
22:13:17 UTC (rev 12350)
+++ trunk/freenet/src/freenet/node/SSKInsertHandler.java 2007-03-24
22:24:06 UTC (rev 12351)
@@ -314,6 +314,10 @@
if(logMINOR) Logger.minor(this, "Remote SSK insert cost
"+totalSent+ '/' +totalReceived+" bytes ("+code+ ')');
node.nodeStats.remoteSskInsertBytesSentAverage.report(totalSent);
node.nodeStats.remoteSskInsertBytesReceivedAverage.report(totalReceived);
+ if(code == SSKInsertSender.SUCCESS) {
+
node.nodeStats.successfulSskInsertBytesSentAverage.report(totalSent);
+
node.nodeStats.successfulSskInsertBytesReceivedAverage.report(totalReceived);
+ }
}
}