format (shendaras)
This commit is contained in:
@ -8,87 +8,81 @@ public class BasicEchoTestAnalyzer implements EchoTestAnalyzer {
|
||||
* printed. Default is every 20 events.
|
||||
*/
|
||||
private static int REPORT_DELAY = 20;
|
||||
|
||||
|
||||
private static int SUMMARY_SIZE = 100;
|
||||
|
||||
public BasicEchoTestAnalyzer() {
|
||||
this(20, 100);
|
||||
this(20, 100);
|
||||
}
|
||||
|
||||
|
||||
public BasicEchoTestAnalyzer(int reportDelay, int summarySize) {
|
||||
REPORT_DELAY = reportDelay;
|
||||
SUMMARY_SIZE = summarySize;
|
||||
REPORT_DELAY = reportDelay;
|
||||
SUMMARY_SIZE = summarySize;
|
||||
}
|
||||
|
||||
private int events = 0,
|
||||
packetLosses = 0,
|
||||
packetLossesDisconnect=0,
|
||||
disconnects = 0,
|
||||
disconnectsRefused = 0,
|
||||
delayCount=0,
|
||||
lastDelayPtr = 0;
|
||||
private long minDelay=Long.MAX_VALUE, maxDelay = 0, delaySum=0;
|
||||
|
||||
private int events = 0, packetLosses = 0, packetLossesDisconnect = 0, disconnects = 0, disconnectsRefused = 0,
|
||||
delayCount = 0, lastDelayPtr = 0;
|
||||
private long minDelay = Long.MAX_VALUE, maxDelay = 0, delaySum = 0;
|
||||
private long[] lastDelays = new long[SUMMARY_SIZE];
|
||||
|
||||
|
||||
|
||||
public synchronized void packetLossOccurred(boolean beforeDisconnect) {
|
||||
System.out.println("1: Packet lost"+
|
||||
(beforeDisconnect?" before disconnect":"")+
|
||||
".");
|
||||
packetLosses++;
|
||||
if (beforeDisconnect) packetLossesDisconnect++;
|
||||
countEvent();
|
||||
System.out.println("1: Packet lost" + (beforeDisconnect ? " before disconnect" : "") + ".");
|
||||
packetLosses++;
|
||||
if (beforeDisconnect) packetLossesDisconnect++;
|
||||
countEvent();
|
||||
}
|
||||
|
||||
public synchronized void successOccurred(long delay) {
|
||||
System.out.println("0: Delay = "+delay);
|
||||
if (delay > maxDelay) maxDelay=delay;
|
||||
if (delay < minDelay) minDelay=delay;
|
||||
delaySum+=delay;
|
||||
delayCount++;
|
||||
lastDelays[lastDelayPtr++]=delay;
|
||||
lastDelayPtr%=SUMMARY_SIZE;
|
||||
countEvent();
|
||||
System.out.println("0: Delay = " + delay);
|
||||
if (delay > maxDelay) maxDelay = delay;
|
||||
if (delay < minDelay) minDelay = delay;
|
||||
delaySum += delay;
|
||||
delayCount++;
|
||||
lastDelays[lastDelayPtr++] = delay;
|
||||
lastDelayPtr %= SUMMARY_SIZE;
|
||||
countEvent();
|
||||
}
|
||||
|
||||
public synchronized void disconnected(boolean refused) {
|
||||
System.out.println("2: Disconnected"+
|
||||
(refused?" (connection refused)":"")+
|
||||
".");
|
||||
disconnects++;
|
||||
if (refused) disconnectsRefused++;
|
||||
countEvent();
|
||||
System.out.println("2: Disconnected" + (refused ? " (connection refused)" : "") + ".");
|
||||
disconnects++;
|
||||
if (refused) disconnectsRefused++;
|
||||
countEvent();
|
||||
}
|
||||
|
||||
private void countEvent() {
|
||||
events++;
|
||||
if (events % REPORT_DELAY == 0) {
|
||||
int packets = packetLosses+delayCount;
|
||||
long delaySummary=0;
|
||||
for (int i=0;i<SUMMARY_SIZE;i++) {
|
||||
delaySummary+=lastDelays[i];
|
||||
}
|
||||
System.out.println
|
||||
("++++++++++++++++ ECHO STATISTICS +++++++++++++++++++++++++"+
|
||||
"\n++ Number of total echo messages: "+packets+
|
||||
"\n++ No response for "+packetLosses+
|
||||
"\n++ (of which "+ packetLossesDisconnect+
|
||||
" due to a disconnect)"+
|
||||
"\n++ Disconnects: "+disconnects+
|
||||
"\n++ (of which "+disconnectsRefused+
|
||||
" due to 'connection refused')"+
|
||||
(disconnects>0 || true
|
||||
?"\n++ Average lost packets per disconnect: "+
|
||||
(packetLossesDisconnect/(float)disconnects)
|
||||
:"")+
|
||||
"\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++"+
|
||||
"\n++ Minimal delay: "+minDelay+
|
||||
"\n++ Average delay: "+(delaySum/(float)delayCount)+
|
||||
"\n++ Maximal delay: "+maxDelay+
|
||||
(delayCount >=SUMMARY_SIZE
|
||||
?"\n++ Average delay over last " + SUMMARY_SIZE + ": "+(delaySummary/(float)SUMMARY_SIZE)
|
||||
:"")+
|
||||
"\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
|
||||
}
|
||||
events++;
|
||||
if (events % REPORT_DELAY == 0) {
|
||||
int packets = packetLosses + delayCount;
|
||||
long delaySummary = 0;
|
||||
for (int i = 0; i < SUMMARY_SIZE; i++) {
|
||||
delaySummary += lastDelays[i];
|
||||
}
|
||||
System.out.println("++++++++++++++++ ECHO STATISTICS +++++++++++++++++++++++++"
|
||||
+ "\n++ Number of total echo messages: "
|
||||
+ packets
|
||||
+ "\n++ No response for "
|
||||
+ packetLosses
|
||||
+ "\n++ (of which "
|
||||
+ packetLossesDisconnect
|
||||
+ " due to a disconnect)"
|
||||
+ "\n++ Disconnects: "
|
||||
+ disconnects
|
||||
+ "\n++ (of which "
|
||||
+ disconnectsRefused
|
||||
+ " due to 'connection refused')"
|
||||
+ (disconnects > 0 || true ? "\n++ Average lost packets per disconnect: "
|
||||
+ (packetLossesDisconnect / (float) disconnects) : "")
|
||||
+ "\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
|
||||
+ "\n++ Minimal delay: "
|
||||
+ minDelay
|
||||
+ "\n++ Average delay: "
|
||||
+ (delaySum / (float) delayCount)
|
||||
+ "\n++ Maximal delay: "
|
||||
+ maxDelay
|
||||
+ (delayCount >= SUMMARY_SIZE ? "\n++ Average delay over last " + SUMMARY_SIZE + ": "
|
||||
+ (delaySummary / (float) SUMMARY_SIZE) : "")
|
||||
+ "\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user