Author: nicolas
Date: Tue Jan  6 07:35:38 2009
New Revision: 731976

URL: http://svn.apache.org/viewvc?rev=731976&view=rev
Log:
use double instead of long to better support unit conversions (without data 
lost)

Modified:
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Gauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObservableMetric.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockGauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedGauge.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java
    
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Counter.java
 Tue Jan  6 07:35:38 2009
@@ -18,9 +18,9 @@
 package org.apache.commons.monitoring;
 
 /**
- * A counter to collect application processed items (bytes received, lines 
processed by a batch,
- * time elapsed by some processing ...).
- *
+ * A counter to collect application processed items (bytes received, lines 
processed by a batch, time elapsed by some
+ * processing ...).
+ * 
  * @author <a href="mailto:nico...@apache.org";>Nicolas De Loof</a>
  */
 public interface Counter
@@ -29,13 +29,14 @@
 
     /**
      * Add value to the counter. Delta should not be negative (in such case a 
Gauge should be used).
+     * 
      * @param delta
      */
-    void add( long delta, Unit unit );
+    void add( double delta, Unit unit );
 
-    public interface Observable extends Metric.Observable<Counter>, Counter
+    public interface Observable
+        extends Metric.Observable<Counter>, Counter
     {
 
     }
 }
-

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Gauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Gauge.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Gauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Gauge.java
 Tue Jan  6 07:35:38 2009
@@ -22,20 +22,22 @@
  *
  * @author <a href="mailto:nico...@apache.org";>Nicolas De Loof</a>
  */
-public interface Gauge extends Metric<Gauge>
+public interface Gauge
+    extends Metric<Gauge>
 {
     /**
      * @return the current Gauge value
      */
-    long getValue();
+    double getValue();
 
-    void increment(Unit unit);
+    void increment( Unit unit );
 
-    void set( long value, Unit unit );
+    void set( double value, Unit unit );
 
-    void decrement(Unit unit);
+    void decrement( Unit unit );
 
-    public interface Observable extends Metric.Observable<Gauge>, Gauge
+    public interface Observable
+        extends Metric.Observable<Gauge>, Gauge
     {
 
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/Metric.java
 Tue Jan  6 07:35:38 2009
@@ -78,7 +78,7 @@
          * @param metric
          * @param value
          */
-        void onValueChanged( Observable<M> metric, long value );
+        void onValueChanged( Observable<M> metric, double value );
     }
 
     /**

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/AbstractMetric.java
 Tue Jan  6 07:35:38 2009
@@ -56,7 +56,7 @@
         return statistics;
     }
 
-    protected long normalize( long value, Unit unit )
+    protected double normalize( double value, Unit unit )
     {
         if ( !this.unit.isCompatible( unit ) )
         {

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpCounter.java
 Tue Jan  6 07:35:38 2009
@@ -24,7 +24,7 @@
         // NoOp
     }
 
-    public void add( long delta, Unit unit )
+    public void add( double delta, Unit unit )
     {
         // NoOp
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/NoOpGauge.java
 Tue Jan  6 07:35:38 2009
@@ -29,7 +29,7 @@
         // NoOp
     }
 
-    public long getValue()
+    public double getValue()
     {
         return 0;
     }
@@ -39,7 +39,7 @@
         // NoOp
     }
 
-    public void set( long value, Unit unit )
+    public void set( double value, Unit unit )
     {
         // NoOp
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObservableMetric.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObservableMetric.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObservableMetric.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObservableMetric.java
 Tue Jan  6 07:35:38 2009
@@ -40,12 +40,12 @@
         listeners.remove( listener );
     }
 
-    protected void fireValueChanged( long l )
+    protected void fireValueChanged( double d )
     {
         // Notify listeners
         for ( Listener<M> listener : listeners )
         {
-            listener.onValueChanged( this, l );
+            listener.onValueChanged( this, d );
         }
     }
 }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverCounter.java
 Tue Jan  6 07:35:38 2009
@@ -38,12 +38,12 @@
         return observable;
     }
 
-    public void onValueChanged( Metric.Observable<Counter> metric, long value )
+    public void onValueChanged( Metric.Observable<Counter> metric, double 
value )
     {
         delegate.threadSafeAdd( value );
     }
 
-    public void add( long delta, Unit unit )
+    public void add( double delta, Unit unit )
     {
         throw new UnsupportedOperationException( "Observer cannot be updated 
directly" );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ObserverGauge.java
 Tue Jan  6 07:35:38 2009
@@ -39,12 +39,12 @@
         return observable;
     }
 
-    public void onValueChanged( Metric.Observable<Gauge> metric, long value )
+    public void onValueChanged( Metric.Observable<Gauge> metric, double value )
     {
         delegate.threadSafeSet( value );
     }
 
-    public long getValue()
+    public double getValue()
     {
         return delegate.getValue();
     }
@@ -54,7 +54,7 @@
         throw new UnsupportedOperationException( "Observer cannot be updated 
directly" );
     }
 
-    public void set( long value, Unit unit )
+    public void set( double value, Unit unit )
     {
         throw new UnsupportedOperationException( "Observer cannot be updated 
directly" );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockCounter.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockCounter.java
 Tue Jan  6 07:35:38 2009
@@ -47,7 +47,7 @@
         super( role );
     }
 
-    protected void threadSafeAdd( long delta )
+    protected void threadSafeAdd( double delta )
     {
         lock.lock();
         try

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockGauge.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/RentrantLockGauge.java
 Tue Jan  6 07:35:38 2009
@@ -50,12 +50,12 @@
         }
     }
 
-    protected void threadSafeSet( long l )
+    protected void threadSafeSet( double d )
     {
         lock.lock();
         try
         {
-            doThreadSafeSet( l );
+            doThreadSafeSet( d );
         }
         finally
         {

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedCounter.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedCounter.java
 Tue Jan  6 07:35:38 2009
@@ -44,7 +44,7 @@
         super( role );
     }
 
-    protected synchronized void threadSafeAdd( long delta )
+    protected synchronized void threadSafeAdd( double delta )
     {
         doThreadSafeAdd( delta );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedGauge.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/SynchronizedGauge.java
 Tue Jan  6 07:35:38 2009
@@ -53,8 +53,8 @@
         doReset();
     }
 
-    protected synchronized void threadSafeSet( long l )
+    protected synchronized void threadSafeSet( double d )
     {
-        doThreadSafeSet( l );
+        doThreadSafeSet( d );
     }
 }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeCounter.java
 Tue Jan  6 07:35:38 2009
@@ -23,7 +23,7 @@
         return Type.COUNTER;
     }
 
-    public void add( long delta, Unit unit )
+    public void add( double delta, Unit unit )
     {
         delta = normalize( delta, unit );
         threadSafeAdd( delta );
@@ -35,9 +35,9 @@
      * expected to delegate computing to {@ #doThreadSafeAdd(long)}
      * @param delta
      */
-    protected abstract void threadSafeAdd( long delta );
+    protected abstract void threadSafeAdd( double delta );
 
-    protected void doThreadSafeAdd( long delta )
+    protected void doThreadSafeAdd( double delta )
     {
         getSummary().addValue( delta );
     }

Modified: 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java?rev=731976&r1=731975&r2=731976&view=diff
==============================================================================
--- 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java
 (original)
+++ 
commons/sandbox/monitoring/branches/modules/core/src/main/java/org/apache/commons/monitoring/metrics/ThreadSafeGauge.java
 Tue Jan  6 07:35:38 2009
@@ -17,7 +17,7 @@
     extends ObservableMetric<Gauge>
     implements Gauge, Gauge.Observable
 {
-    protected long value;
+    protected double value;
 
     protected long lastUse;
 
@@ -32,7 +32,7 @@
         super( role );
     }
 
-    public long getValue()
+    public double getValue()
     {
         return value;
     }
@@ -47,14 +47,14 @@
         add( -1, unit );
     }
 
-    protected void add( long delta, Unit unit )
+    protected void add( double delta, Unit unit )
     {
         delta = normalize( delta, unit );
-        long l = threadSafeAdd( delta );
-        fireValueChanged( l );
+        double d = threadSafeAdd( delta );
+        fireValueChanged( d );
     }
 
-    protected long threadSafeAdd( long delta )
+    protected double threadSafeAdd( double delta )
     {
         threadSafeSet( value + delta );
         return value;
@@ -65,19 +65,19 @@
         return System.nanoTime();
     }
 
-    public long get()
+    public double get()
     {
         return value;
     }
 
-    public void set( long l, Unit unit )
+    public void set( double d, Unit unit )
     {
-        l = normalize( l, unit );
-        threadSafeSet( l );
-        fireValueChanged( l );
+        d = normalize( d, unit );
+        threadSafeSet( d );
+        fireValueChanged( d );
     }
 
-    protected abstract void threadSafeSet( long l );
+    protected abstract void threadSafeSet( double d );
 
     protected void doReset()
     {
@@ -87,9 +87,9 @@
         firstUse = Double.NaN;
     }
 
-    protected void doThreadSafeSet( long l )
+    protected void doThreadSafeSet( double d )
     {
-        value = l;
+        value = d;
         long now = nanotime();
         if ( Double.isNaN( firstUse ) )
         {
@@ -98,12 +98,12 @@
         else
         {
             long delta = now - lastUse;
-            long s = l * delta;
+            double s = d * delta;
             getSummary().addValue( s );
         }
         lastUse = now;
-        min.increment( l );
-        max.increment( l );
+        min.increment( d );
+        max.increment( d );
     }
 
     @Override


Reply via email to