successfulChkInsertBytesReceivedAverage = new TimeDecayingRunningAverage(32768+1024+500, 180000, 0.0, 200*1024, throttleFS == null ? null : throttleFS.subset("SuccessfulChkInsertBytesReceivedAverage"), node);
successfulSskInsertBytesReceivedAverage = new TimeDecayingRunningAverage(1024+1024+500, 180000, 0.0, 200*1024, throttleFS == null ? null : throttleFS.subset("SuccessfulSskInsertBytesReceivedAverage"), node);
successfulChkOfferReplyBytesReceivedAverage = new TimeDecayingRunningAverage(32768+500, 180000, 0.0, 200*1024, throttleFS == null ? null : throttleFS.subset("successfulChkOfferReplyBytesReceivedAverage"), node);
successfulSskOfferReplyBytesReceivedAverage = new TimeDecayingRunningAverage(3072, 180000, 0.0, 200*1024, throttleFS == null ? null : throttleFS.subset("successfulSskOfferReplyBytesReceivedAverage"), node);
globalFetchPSuccess = new TrivialRunningAverage();
chkLocalFetchPSuccess = new TrivialRunningAverage();
chkRemoteFetchPSuccess = new TrivialRunningAverage();
sskLocalFetchPSuccess = new TrivialRunningAverage();
sskRemoteFetchPSuccess = new TrivialRunningAverage();
blockTransferPSuccessRT = new TrivialRunningAverage();
blockTransferPSuccessBulk = new TrivialRunningAverage();
blockTransferPSuccessLocal = new TrivialRunningAverage();
blockTransferFailTimeout = new TrivialRunningAverage();
successfulLocalCHKFetchTimeAverageRT = new TrivialRunningAverage();
unsuccessfulLocalCHKFetchTimeAverageRT = new TrivialRunningAverage();
localCHKFetchTimeAverageRT = new TrivialRunningAverage();
successfulLocalCHKFetchTimeAverageBulk = new TrivialRunningAverage();
unsuccessfulLocalCHKFetchTimeAverageBulk = new TrivialRunningAverage();
localCHKFetchTimeAverageBulk = new TrivialRunningAverage();
successfulLocalSSKFetchTimeAverageRT = new TrivialRunningAverage();
unsuccessfulLocalSSKFetchTimeAverageRT = new TrivialRunningAverage();
localSSKFetchTimeAverageRT = new TrivialRunningAverage();
successfulLocalSSKFetchTimeAverageBulk = new TrivialRunningAverage();
unsuccessfulLocalSSKFetchTimeAverageBulk = new TrivialRunningAverage();
localSSKFetchTimeAverageBulk = new TrivialRunningAverage();
chkSuccessRatesByLocation = new Histogram2(10, 1.0);
requestOutputThrottle =
new TokenBucket(Math.max(obwLimit*60, 32768*20), SECONDS.toNanos(1) / obwLimit, 0);