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 */


Reply via email to