Author: sebb
Date: Sun Jan  2 12:49:03 2011
New Revision: 1054396

URL: http://svn.apache.org/viewvc?rev=1054396&view=rev
Log:
Allow test code to change the default useNanoTime setting

Modified:
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java

Modified: 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java?rev=1054396&r1=1054395&r2=1054396&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java 
(original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java 
Sun Jan  2 12:49:03 2011
@@ -193,7 +193,8 @@ public class SampleResult implements Ser
     private static final boolean startTimeStamp
         = JMeterUtils.getPropDefault("sampleresult.timestamp.start", false);  
// $NON-NLS-1$
 
-    private static final boolean useNanoTime
+    // Allow read-only access from test code
+    static final boolean USENANOTIME
     = JMeterUtils.getPropDefault("sampleresult.useNanoTime", true);  // 
$NON-NLS-1$
 
     static {
@@ -203,29 +204,45 @@ public class SampleResult implements Ser
             log.info("Note: Sample TimeStamps are END times");
         }
         log.info("sampleresult.default.encoding is set to " + 
DEFAULT_ENCODING);
-        log.info("sampleresult.useNanoTime="+useNanoTime);
+        log.info("sampleresult.useNanoTime="+USENANOTIME);
     }
 
     private transient final long nanoTimeOffset;
 
-    private long initOffset(){
-        if (useNanoTime){
+    private final boolean useNanoTime; // Allow test code to change the default
+    
+    private static long initOffset(){
+        if (USENANOTIME){
             return System.currentTimeMillis() - sampleNsClockInMs();
         } else {
             return Long.MIN_VALUE;
         }
     }
+
     public SampleResult() {
         time = 0;
+        useNanoTime = USENANOTIME;
         nanoTimeOffset = initOffset();
     }
 
+    // Allow test code to change the default useNanoTime setting
+    SampleResult(boolean nanoTime) {
+        time = 0;
+        useNanoTime = nanoTime;
+        nanoTimeOffset = initOffset();
+    }
+
+    boolean isUseNanoTime() {
+        return useNanoTime;
+    }
+
     /**
      * Copy constructor.
      * 
      * @param res existing sample result
      */
     public SampleResult(SampleResult res) {
+        useNanoTime = USENANOTIME;
         nanoTimeOffset = initOffset();
         allThreads = res.allThreads;//OK
         assertionResults = res.assertionResults;// TODO ??
@@ -279,6 +296,7 @@ public class SampleResult implements Ser
      *            create the sample finishing now, else starting now
      */
     protected SampleResult(long elapsed, boolean atend) {
+        useNanoTime = USENANOTIME;
         nanoTimeOffset = initOffset();
         long now = currentTimeInMillis();
         if (atend) {
@@ -329,6 +347,7 @@ public class SampleResult implements Ser
      * @param elapsed
      */
     public SampleResult(long stamp, long elapsed) {
+        useNanoTime = USENANOTIME;
         nanoTimeOffset = initOffset();
         stampAndTime(stamp, elapsed);
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to