Author: psteitz
Date: Tue Oct 5 01:29:16 2010
New Revision: 1004498
URL: http://svn.apache.org/viewvc?rev=1004498&view=rev
Log:
Track on time startup and success rate in statistics.
Modified:
commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/ClientThread.java
Modified:
commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/ClientThread.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/ClientThread.java?rev=1004498&r1=1004497&r2=1004498&view=diff
==============================================================================
---
commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/ClientThread.java
(original)
+++
commons/sandbox/performance/trunk/src/java/org/apache/commons/performance/ClientThread.java
Tue Oct 5 01:29:16 2010
@@ -146,7 +146,11 @@ public abstract class ClientThread imple
periodStart = System.currentTimeMillis();
lastMean = (double) maxDelay; // Ramp up, if any, starts here
SummaryStatistics responseStats = new SummaryStatistics();
+ SummaryStatistics onTimeStats = new SummaryStatistics();
+ SummaryStatistics successStats = new SummaryStatistics();
for (int i = 0; i < iterations; i++) {
+ boolean onTime = true;
+ boolean success = true;
try {
setUp();
// Generate next inter-arrival time. If that is in the
@@ -154,7 +158,7 @@ public abstract class ClientThread imple
final long elapsed = System.currentTimeMillis() - lastStart;
final long nextDelay = nextDelay();
if (elapsed > nextDelay) {
- numMisses++;
+ onTime = false;
} else {
try {
Thread.sleep(nextDelay - elapsed);
@@ -168,10 +172,12 @@ public abstract class ClientThread imple
execute();
} catch (Exception ex) {
ex.printStackTrace();
- numErrors++;
+ success = false;
} finally {
try {
responseStats.addValue(System.currentTimeMillis() - start);
+ successStats.addValue(success ? 1 : 0);
+ onTimeStats.addValue(onTime ? 1 : 0);
lastStart = start;
cleanUp();
} catch (Exception e) {
@@ -191,13 +197,13 @@ public abstract class ClientThread imple
// Use thread name as process name
String process = Thread.currentThread().getName();
- // Record latency statistics
+ // Record statistics
stats.addStatistics(responseStats, process, "latency");
+ stats.addStatistics(onTimeStats, process, "on time startup rate");
+ stats.addStatistics(successStats, process, "successful completion
rate");
// Log accumulated statistics for this thread
- logger.info(stats.displayProcessStatistics(process) +
- "Number of misses: " + numMisses + "\n" +
- "Number or errors: " + numErrors + "\n");
+ logger.info(stats.displayProcessStatistics(process));
}
/** Executed once at the beginning of the run */