Author: nicolas
Date: Mon Feb 4 02:14:57 2008
New Revision: 618223
URL: http://svn.apache.org/viewvc?rev=618223&view=rev
Log:
reverted change to use System.nanotime() as documented in
http://wiki.apache.org/commons/Monitoring/Precision
Modified:
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/StopWatch.java
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeGauge.java
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/StopWatchTest.java
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java
Modified:
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/StopWatch.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/StopWatch.java?rev=618223&r1=618222&r2=618223&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/StopWatch.java
(original)
+++
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/StopWatch.java
Mon Feb 4 02:14:57 2008
@@ -57,7 +57,7 @@
{
super();
this.monitor = monitor;
- startedAt = time();
+ startedAt = nanotime();
if ( monitor != null )
{
monitor.getGauge( Monitor.CONCURRENCY ).increment();
@@ -81,7 +81,7 @@
else
{
// Still running !
- delay = time() - startedAt - pauseDelay;
+ delay = nanotime() - startedAt - pauseDelay;
}
return delay;
}
@@ -94,7 +94,7 @@
{
if ( !paused && !stoped )
{
- stopedAt = time();
+ stopedAt = nanotime();
paused = true;
}
}
@@ -106,7 +106,7 @@
{
if ( paused && !stoped )
{
- pauseDelay = time() - stopedAt;
+ pauseDelay = nanotime() - stopedAt;
paused = false;
stopedAt = 0;
}
@@ -120,7 +120,7 @@
{
if ( !stoped )
{
- long t = time();
+ long t = nanotime();
if ( paused )
{
pauseDelay = t - stopedAt;
@@ -210,16 +210,17 @@
}
/**
- * Simple benchmark demonstrates that java5 System.currentTimeMillis is FAR
- * quicker than System.nanoTime. The lack of precision for using ms as time
- * unit is not blocking for a monitoring toolkit (it may be for a profiler)
+ * Returns the current value of the most precise available system timer, in
+ * nanoseconds. The real precision depends on the JVM and the underlying
+ * system. On JRE before java5, <tt>backport-util-concurrent</tt> provides
+ * some limited support for equivalent timer.
*
- * @return time with ms precision
- * @see org.apache.commons.monitoring.bench.CurrentTimeMillisVsNanoTime
+ * @see System#nanoTime()
+ * @return time in nanosecond
*/
- protected long time()
+ protected long nanotime()
{
- return System.currentTimeMillis();
+ return System.nanoTime();
}
/**
Modified:
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeGauge.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeGauge.java?rev=618223&r1=618222&r2=618223&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeGauge.java
(original)
+++
commons/sandbox/monitoring/trunk/src/main/java/org/apache/commons/monitoring/impl/ThreadSafeGauge.java
Mon Feb 4 02:14:57 2008
@@ -105,7 +105,7 @@
protected void computeSums()
{
- long now = time();
+ long now = nanotime();
if ( Double.isNaN( firstUse ) )
{
firstUse = now;
@@ -120,15 +120,15 @@
lastUse = now;
}
- protected long time()
+ protected long nanotime()
{
- return System.currentTimeMillis();
+ return System.nanoTime();
}
@Override
public synchronized double getMean()
{
- return ( (double) sum ) / ( time() - firstUse );
+ return ( (double) sum ) / ( nanotime() - firstUse );
}
@Override
Modified:
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/StopWatchTest.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/StopWatchTest.java?rev=618223&r1=618222&r2=618223&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/StopWatchTest.java
(original)
+++
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/StopWatchTest.java
Mon Feb 4 02:14:57 2008
@@ -104,7 +104,8 @@
super( monitor );
}
- protected long time()
+ @Override
+ protected long nanotime()
{
return time;
}
Modified:
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java?rev=618223&r1=618222&r2=618223&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java
(original)
+++
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/CompositeValuesMonitorTest.java
Mon Feb 4 02:14:57 2008
@@ -83,7 +83,7 @@
gauge.increment();
assertEquals( 1, gauge.get() );
Gauge secondary = composite.createSecondary();
- assertEquals( 0, secondary.get() );
+ assertEquals( 1, secondary.get() );
gauge.increment();
assertEquals( 2, gauge.get() );
Modified:
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java
URL:
http://svn.apache.org/viewvc/commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java?rev=618223&r1=618222&r2=618223&view=diff
==============================================================================
---
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java
(original)
+++
commons/sandbox/monitoring/trunk/src/test/java/org/apache/commons/monitoring/impl/ThreadSafeGaugeTest.java
Mon Feb 4 02:14:57 2008
@@ -100,7 +100,7 @@
}
@Override
- protected long time()
+ protected long nanotime()
{
return time;
}