Author: tv
Date: Fri May 2 20:27:57 2014
New Revision: 1592029
URL: http://svn.apache.org/r1592029
Log:
Simplify and generify statistics
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/AbstractDiskCache.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCache.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCache.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWait.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWaitFacade.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPCacheFactory.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteAuxiliaryCache.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCache.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/CacheEventQueue.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/PooledCacheEventQueue.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCache.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/memory/AbstractDoubleLinkedListMemoryCache.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/memory/lru/LHMLRUMemoryCache.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/stats/CacheStats.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/stats/StatElement.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/stats/Stats.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/stats/behavior/ICacheStats.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/stats/behavior/IStatElement.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/stats/behavior/IStats.java
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/utils/struct/LRUMap.java
commons/proper/jcs/trunk/commons-jcs-core/src/test/java/org/apache/commons/jcs/JCSThrashTest.java
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/AbstractDiskCache.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/AbstractDiskCache.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/AbstractDiskCache.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/AbstractDiskCache.java
Fri May 2 20:27:57 2014
@@ -22,10 +22,8 @@ package org.apache.commons.jcs.auxiliary
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.locks.ReentrantReadWriteLock;
@@ -536,30 +534,16 @@ public abstract class AbstractDiskCache<
IStats stats = new Stats();
stats.setTypeName( "Abstract Disk Cache" );
- ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
+ ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
- IStatElement se = null;
-
- se = new StatElement();
- se.setName( "Purgatory Hits" );
- se.setData( "" + purgHits );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Purgatory Size" );
- se.setData( "" + purgatory.size() );
- elems.add( se );
+ elems.add(new StatElement<Integer>( "Purgatory Hits",
Integer.valueOf(purgHits) ) );
+ elems.add(new StatElement<Integer>( "Purgatory Size",
Integer.valueOf(purgatory.size()) ) );
// get the stats from the event queue too
- // get as array, convert to list, add list to our outer list
IStats eqStats = this.cacheEventQueue.getStatistics();
- IStatElement[] eqSEs = eqStats.getStatElements();
- List<IStatElement> eqL = Arrays.asList( eqSEs );
- elems.addAll( eqL );
-
- // get an array and put them in the Stats object
- IStatElement[] ses = elems.toArray( new StatElement[0] );
- stats.setStatElements( ses );
+ elems.addAll(eqStats.getStatElements());
+
+ stats.setStatElements( elems );
return stats;
}
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCache.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCache.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCache.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/block/BlockDiskCache.java
Fri May 2 20:27:57 2014
@@ -27,7 +27,6 @@ import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ScheduledExecutorService;
@@ -697,69 +696,35 @@ public class BlockDiskCache<K extends Se
IStats stats = new Stats();
stats.setTypeName( "Block Disk Cache" );
- ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
+ ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
- IStatElement se = null;
-
- se = new StatElement();
- se.setName( "Is Alive" );
- se.setData( "" + alive );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Key Map Size" );
- se.setData( "" + this.keyStore.size() );
- elems.add( se );
+ elems.add(new StatElement<Boolean>( "Is Alive", Boolean.valueOf(alive)
) );
+ elems.add(new StatElement<Integer>( "Key Map Size",
Integer.valueOf(this.keyStore.size()) ) );
try
{
- se = new StatElement();
- se.setName( "Data File Length" );
- if ( this.dataFile != null )
- {
- se.setData( "" + this.dataFile.length() );
- }
- else
- {
- se.setData( "-1" );
- }
- elems.add( se );
+ elems.add(new StatElement<Long>( "Data File Length",
+ Long.valueOf(this.dataFile != null ?
this.dataFile.length() : -1L) ) );
}
- catch ( Exception e )
+ catch ( IOException e )
{
log.error( e );
}
- se = new StatElement();
- se.setName( "Block Size Bytes" );
- se.setData( "" + this.dataFile.getBlockSizeBytes() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Number Of Blocks" );
- se.setData( "" + this.dataFile.getNumberOfBlocks() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Average Put Size Bytes" );
- se.setData( "" + this.dataFile.getAveragePutSizeBytes() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Empty Blocks" );
- se.setData( "" + this.dataFile.getEmptyBlocks() );
- elems.add( se );
+ elems.add(new StatElement<Integer>( "Block Size Bytes",
+ Integer.valueOf(this.dataFile.getBlockSizeBytes()) ) );
+ elems.add(new StatElement<Integer>( "Number Of Blocks",
+ Integer.valueOf(this.dataFile.getNumberOfBlocks()) ) );
+ elems.add(new StatElement<Long>( "Average Put Size Bytes",
+ Long.valueOf(this.dataFile.getAveragePutSizeBytes()) ) );
+ elems.add(new StatElement<Integer>( "Empty Blocks",
+ Integer.valueOf(this.dataFile.getEmptyBlocks()) ) );
// get the stats from the super too
- // get as array, convert to list, add list to our outer list
IStats sStats = super.getStatistics();
- IStatElement[] sSEs = sStats.getStatElements();
- List<IStatElement> sL = Arrays.asList( sSEs );
- elems.addAll( sL );
-
- // get an array and put them in the Stats object
- IStatElement[] ses = elems.toArray( new StatElement[0] );
- stats.setStatElements( ses );
+ elems.addAll(sStats.getStatElements());
+
+ stats.setStatElements( elems );
return stats;
}
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCache.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCache.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCache.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/indexed/IndexedDiskCache.java
Fri May 2 20:27:57 2014
@@ -1552,91 +1552,33 @@ public class IndexedDiskCache<K extends
IStats stats = new Stats();
stats.setTypeName( "Indexed Disk Cache" );
- ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
-
- IStatElement se = null;
-
- se = new StatElement();
- se.setName( "Is Alive" );
- se.setData( "" + alive );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Key Map Size" );
- if ( this.keyHash != null )
- {
- se.setData( "" + this.keyHash.size() );
- }
- else
- {
- se.setData( "-1" );
- }
- elems.add( se );
+ ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
+ elems.add(new StatElement<Boolean>( "Is Alive", Boolean.valueOf(alive)
) );
+ elems.add(new StatElement<Integer>( "Key Map Size",
+ Integer.valueOf(this.keyHash != null ? this.keyHash.size() :
-1) ) );
try
{
- se = new StatElement();
- se.setName( "Data File Length" );
- if ( this.dataFile != null )
- {
- se.setData( "" + this.dataFile.length() );
- }
- else
- {
- se.setData( "-1" );
- }
- elems.add( se );
+ elems.add(new StatElement<Long>( "Data File Length",
+ Long.valueOf(this.dataFile != null ?
this.dataFile.length() : -1L) ) );
}
catch ( Exception e )
{
log.error( e );
}
-
- se = new StatElement();
- se.setName( "Hit Count" );
- se.setData( "" + this.hitCount.get() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Bytes Free" );
- se.setData( "" + this.bytesFree );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Optimize Operation Count" );
- se.setData( "" + this.removeCount );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Times Optimized" );
- se.setData( "" + this.timesOptimized );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Recycle Count" );
- se.setData( "" + this.recycleCnt );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Recycle Bin Size" );
- se.setData( "" + this.recycle.size() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Startup Size" );
- se.setData( "" + this.startupSize );
- elems.add( se );
+ elems.add(new StatElement<Integer>( "Hit Count",
Integer.valueOf(this.hitCount.get()) ) );
+ elems.add(new StatElement<Long>( "Bytes Free",
Long.valueOf(this.bytesFree) ) );
+ elems.add(new StatElement<Integer>( "Optimize Operation Count",
Integer.valueOf(this.removeCount) ) );
+ elems.add(new StatElement<Integer>( "Times Optimized",
Integer.valueOf(this.timesOptimized) ) );
+ elems.add(new StatElement<Integer>( "Recycle Count",
Integer.valueOf(this.recycleCnt) ) );
+ elems.add(new StatElement<Integer>( "Recycle Bin Size",
Integer.valueOf(this.recycle.size()) ) );
+ elems.add(new StatElement<Integer>( "Startup Size",
Integer.valueOf(this.startupSize) ) );
// get the stats from the super too
- // get as array, convert to list, add list to our outer list
IStats sStats = super.getStatistics();
- IStatElement[] sSEs = sStats.getStatElements();
- List<IStatElement> sL = Arrays.asList( sSEs );
- elems.addAll( sL );
-
- // get an array and put them in the Stats object
- IStatElement[] ses = elems.toArray( new StatElement[0] );
- stats.setStatElements( ses );
+ elems.addAll(sStats.getStatElements());
+
+ stats.setStatElements( elems );
return stats;
}
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java
Fri May 2 20:27:57 2014
@@ -27,8 +27,6 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -1124,77 +1122,25 @@ public class JDBCDiskCache<K extends Ser
{
IStats stats = super.getStatistics();
stats.setTypeName( "JDBC/Abstract Disk Cache" );
- stats.getStatElements();
- ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
+ List<IStatElement<?>> elems = stats.getStatElements();
- IStatElement se = null;
-
- se = new StatElement();
- se.setName( "Update Count" );
- se.setData( "" + updateCount );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Get Count" );
- se.setData( "" + getCount );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Get Matching Count" );
- se.setData( "" + getMatchingCount );
- elems.add( se );
+ elems.add(new StatElement<Integer>( "Update Count",
Integer.valueOf(updateCount) ) );
+ elems.add(new StatElement<Integer>( "Get Count",
Integer.valueOf(getCount) ) );
+ elems.add(new StatElement<Integer>( "Get Matching Count",
Integer.valueOf(getMatchingCount) ) );
final JDBCDiskCachePoolAccess pool = getPoolAccess();
- se = new StatElement();
- se.setName( "Size" );
- if (pool != null) {
- se.setData( "" + getSize() );
- } else {
- se.setData( "No db connection pool found" );
- }
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Active DB Connections" );
- if (pool != null) {
- se.setData( "" + pool.getNumActiveInPool() );
- } else {
- se.setData( "No db connection pool found" );
- }
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Idle DB Connections" );
- if (pool != null) {
- se.setData( "" + pool.getNumIdleInPool() );
- } else {
- se.setData( "No db connection pool found" );
- }
- elems.add( se );
-
- se = new StatElement();
- se.setName( "DB URL" );
- if ( pool != null )
- {
- se.setData( "" + pool.getPoolUrl() );
- }
- else
- {
- se.setData( "" + getJdbcDiskCacheAttributes().getUrl() );
- }
- elems.add( se );
+ elems.add(new StatElement<Integer>( "Size",
+ Integer.valueOf(pool != null ? getSize() : -1) ) );
+ elems.add(new StatElement<Integer>( "Active DB Connections",
+ Integer.valueOf(pool != null ? pool.getNumActiveInPool() : -1)
) );
+ elems.add(new StatElement<Integer>( "Idle DB Connections",
+ Integer.valueOf(pool != null ? pool.getNumIdleInPool() : -1) )
);
+ elems.add(new StatElement<String>( "DB URL",
+ pool != null ? pool.getPoolUrl() :
getJdbcDiskCacheAttributes().getUrl()) );
- // get the stats from the event queue too
- // get as array, convert to list, add list to our outer list
- IStatElement[] eqSEs = stats.getStatElements();
- List<IStatElement> eqL = Arrays.asList( eqSEs );
- elems.addAll( eqL );
-
- // get an array and put them in the Stats object
- IStatElement[] ses = elems.toArray( new StatElement[0] );
- stats.setStatElements( ses );
+ stats.setStatElements( elems );
return stats;
}
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWait.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWait.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWait.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWait.java
Fri May 2 20:27:57 2014
@@ -23,10 +23,8 @@ import java.io.IOException;
import java.io.Serializable;
import java.rmi.UnmarshalException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -411,44 +409,18 @@ public class LateralCacheNoWait<K extend
IStats stats = new Stats();
stats.setTypeName( "Lateral Cache No Wait" );
- ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
-
- // IStatElement se = null;
- // no data gathered here
+ ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
// get the stats from the event queue too
- // get as array, convert to list, add list to our outer list
IStats eqStats = this.eventQueue.getStatistics();
+ elems.addAll(eqStats.getStatElements());
+
+ elems.add(new StatElement<Integer>( "Get Count",
Integer.valueOf(this.getCount) ) );
+ elems.add(new StatElement<Integer>( "Remove Count",
Integer.valueOf(this.removeCount) ) );
+ elems.add(new StatElement<Integer>( "Put Count",
Integer.valueOf(this.putCount) ) );
+ elems.add(new StatElement<AuxiliaryCacheAttributes>( "Attributes",
cache.getAuxiliaryCacheAttributes() ) );
- IStatElement[] eqSEs = eqStats.getStatElements();
- List<IStatElement> eqL = Arrays.asList( eqSEs );
- elems.addAll( eqL );
-
- IStatElement se = null;
-
- se = new StatElement();
- se.setName( "Get Count" );
- se.setData( "" + this.getCount );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Remove Count" );
- se.setData( "" + this.removeCount );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Put Count" );
- se.setData( "" + this.putCount );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Attributes" );
- se.setData( "" + cache.getAuxiliaryCacheAttributes() );
- elems.add( se );
-
- // get an array and put them in the Stats object
- IStatElement[] ses = elems.toArray( new StatElement[elems.size()] );
- stats.setStatElements( ses );
+ stats.setStatElements( elems );
return stats;
}
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWaitFacade.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWaitFacade.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWaitFacade.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/LateralCacheNoWaitFacade.java
Fri May 2 20:27:57 2014
@@ -22,10 +22,8 @@ package org.apache.commons.jcs.auxiliary
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -515,35 +513,24 @@ public class LateralCacheNoWaitFacade<K
IStats stats = new Stats();
stats.setTypeName( "Lateral Cache No Wait Facade" );
- ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
-
- IStatElement se = null;
+ ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
if ( noWaits != null )
{
- se = new StatElement();
- se.setName( "Number of No Waits" );
- se.setData( "" + noWaits.length );
- elems.add( se );
+ elems.add(new StatElement<Integer>( "Number of No Waits",
Integer.valueOf(noWaits.length) ) );
- for ( int i = 0; i < noWaits.length; i++ )
+ for ( LateralCacheNoWait<K, V> lcnw : noWaits )
{
- if ( noWaits[i] != null )
+ if ( lcnw != null )
{
// get the stats from the super too
- // get as array, convert to list, add list to our outer
list
- IStats sStats = noWaits[i].getStatistics();
- IStatElement[] sSEs = sStats.getStatElements();
- List<IStatElement> sL = Arrays.asList( sSEs );
- elems.addAll( sL );
+ IStats sStats = lcnw.getStatistics();
+ elems.addAll(sStats.getStatElements());
}
}
-
}
- // get an array and put them in the Stats object
- IStatElement[] ses = elems.toArray( new StatElement[0] );
- stats.setStatElements( ses );
+ stats.setStatElements( elems );
return stats;
}
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPCacheFactory.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPCacheFactory.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPCacheFactory.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/lateral/socket/tcp/LateralTCPCacheFactory.java
Fri May 2 20:27:57 2014
@@ -150,10 +150,7 @@ public class LateralTCPCacheFactory
listener = LateralTCPListener.getInstance( attr, cacheMgr );
// register for shutdown notification
- if ( listener instanceof IShutdownObserver )
- {
- cacheMgr.registerShutdownObserver( (IShutdownObserver)
listener );
- }
+ cacheMgr.registerShutdownObserver( (IShutdownObserver)
listener );
}
catch ( Exception e )
{
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteAuxiliaryCache.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteAuxiliaryCache.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteAuxiliaryCache.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteAuxiliaryCache.java
Fri May 2 20:27:57 2014
@@ -564,51 +564,30 @@ public abstract class AbstractRemoteAuxi
IStats stats = new Stats();
stats.setTypeName( "AbstractRemoteAuxiliaryCache" );
- ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
+ ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
- IStatElement se = null;
+ elems.add(new StatElement<String>( "Remote Type",
this.getRemoteCacheAttributes().getRemoteTypeName() ) );
- se = new StatElement();
- se.setName( "Remote Type" );
- se.setData( this.getRemoteCacheAttributes().getRemoteTypeName() + "" );
- elems.add( se );
-
-// if ( this.getRemoteCacheAttributes().getRemoteType() ==
RemoteType.CLUSTER )
-// {
-// // something cluster specific
-// }
-
- // no data gathered here
-
- se = new StatElement();
- se.setName( "UsePoolForGet" );
- se.setData( "" + usePoolForGet );
- elems.add( se );
+// if ( this.getRemoteCacheAttributes().getRemoteType() ==
RemoteType.CLUSTER )
+// {
+// // something cluster specific
+// }
+
+ elems.add(new StatElement<Boolean>( "UsePoolForGet",
Boolean.valueOf(usePoolForGet) ) );
if ( pool != null )
{
- se = new StatElement();
- se.setName( "Pool Size" );
- se.setData( "" + pool.getPoolSize() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Maximum Pool Size" );
- se.setData( "" + pool.getMaximumPoolSize() );
- elems.add( se );
+ elems.add(new StatElement<Integer>( "Pool Size",
Integer.valueOf(pool.getPoolSize()) ) );
+ elems.add(new StatElement<Integer>( "Maximum Pool Size",
Integer.valueOf(pool.getMaximumPoolSize()) ) );
}
if ( getRemoteCacheService() instanceof ZombieCacheServiceNonLocal )
{
- se = new StatElement();
- se.setName( "Zombie Queue Size" );
- se.setData( "" + ( (ZombieCacheServiceNonLocal<K, V>)
getRemoteCacheService() ).getQueueSize() );
- elems.add( se );
+ elems.add(new StatElement<Integer>( "Zombie Queue Size",
+ Integer.valueOf(( (ZombieCacheServiceNonLocal<K, V>)
getRemoteCacheService() ).getQueueSize()) ) );
}
- // get an array and put them in the Stats object
- IStatElement[] ses = elems.toArray( new StatElement[0] );
- stats.setStatElements( ses );
+ stats.setStatElements( elems );
return stats;
}
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java
Fri May 2 20:27:57 2014
@@ -22,10 +22,8 @@ package org.apache.commons.jcs.auxiliary
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
-import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -410,31 +408,21 @@ public abstract class AbstractRemoteCach
IStats stats = new Stats();
stats.setTypeName( "Remote Cache No Wait Facade" );
- ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
-
- IStatElement se = null;
+ ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
if ( noWaits != null )
{
- se = new StatElement();
- se.setName( "Number of No Waits" );
- se.setData( "" + noWaits.length );
- elems.add( se );
+ elems.add(new StatElement<Integer>( "Number of No Waits",
Integer.valueOf(noWaits.length) ) );
- for ( int i = 0; i < noWaits.length; i++ )
+ for ( RemoteCacheNoWait<K, V> rcnw : noWaits )
{
// get the stats from the super too
- // get as array, convert to list, add list to our outer list
- IStats sStats = noWaits[i].getStatistics();
- IStatElement[] sSEs = sStats.getStatElements();
- List<IStatElement> sL = Arrays.asList( sSEs );
- elems.addAll( sL );
+ IStats sStats = rcnw.getStatistics();
+ elems.addAll(sStats.getStatElements());
}
}
- // get an array and put them in the Stats object
- IStatElement[] ses = elems.toArray( new StatElement[0] );
- stats.setStatElements( ses );
+ stats.setStatElements( elems );
return stats;
}
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCache.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCache.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCache.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCache.java
Fri May 2 20:27:57 2014
@@ -22,8 +22,6 @@ package org.apache.commons.jcs.auxiliary
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheAttributes;
import org.apache.commons.jcs.auxiliary.remote.behavior.IRemoteCacheListener;
@@ -78,35 +76,21 @@ public class RemoteCache<K extends Seria
IStats stats = new Stats();
stats.setTypeName( "Remote Cache" );
- ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
+ ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
- IStatElement se = null;
+ elems.add(new StatElement<String>( "Remote Host:Port",
getIPAddressForService() ) );
+ elems.add(new StatElement<String>( "Remote Type",
this.getRemoteCacheAttributes().getRemoteTypeName() ) );
- se = new StatElement();
- se.setName( "Remote Host:Port" );
- se.setData( getIPAddressForService() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Remote Type" );
- se.setData( this.getRemoteCacheAttributes().getRemoteTypeName() + "" );
- elems.add( se );
-
-// if ( this.getRemoteCacheAttributes().getRemoteType() ==
RemoteType.CLUSTER )
-// {
-// // something cluster specific
-// }
+// if ( this.getRemoteCacheAttributes().getRemoteType() ==
RemoteType.CLUSTER )
+// {
+// // something cluster specific
+// }
// get the stats from the super too
- // get as array, convert to list, add list to our outer list
IStats sStats = super.getStatistics();
- IStatElement[] sSEs = sStats.getStatElements();
- List<IStatElement> sL = Arrays.asList( sSEs );
- elems.addAll( sL );
-
- // get an array and put them in the Stats object
- IStatElement[] ses = elems.toArray( new StatElement[0] );
- stats.setStatElements( ses );
+ elems.addAll(sStats.getStatElements());
+
+ stats.setStatElements( elems );
return stats;
}
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/auxiliary/remote/RemoteCacheNoWait.java
Fri May 2 20:27:57 2014
@@ -23,10 +23,8 @@ import java.io.IOException;
import java.io.Serializable;
import java.rmi.UnmarshalException;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -493,62 +491,28 @@ public class RemoteCacheNoWait<K extends
IStats stats = new Stats();
stats.setTypeName( "Remote Cache No Wait" );
- ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
+ ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
- IStatElement se = null;
-
- se = new StatElement();
- se.setName( "Status" );
- se.setData( getStatus().toString() );
- elems.add( se );
-
- // no data gathered here
+ elems.add(new StatElement<CacheStatus>( "Status", getStatus() ) );
// get the stats from the cache queue too
- // get as array, convert to list, add list to our outer list
IStats cStats = this.remoteCacheClient.getStatistics();
if ( cStats != null )
{
- IStatElement[] cSEs = cStats.getStatElements();
- List<IStatElement> cL = Arrays.asList( cSEs );
- elems.addAll( cL );
+ elems.addAll(cStats.getStatElements());
}
// get the stats from the event queue too
- // get as array, convert to list, add list to our outer list
IStats eqStats = this.cacheEventQueue.getStatistics();
- IStatElement[] eqSEs = eqStats.getStatElements();
- List<IStatElement> eqL = Arrays.asList( eqSEs );
- elems.addAll( eqL );
-
- se = new StatElement();
- se.setName( "Get Count" );
- se.setData( "" + this.getCount );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "GetMatching Count" );
- se.setData( "" + this.getMatchingCount );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "GetMultiple Count" );
- se.setData( "" + this.getMultipleCount );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Remove Count" );
- se.setData( "" + this.removeCount );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Put Count" );
- se.setData( "" + this.putCount );
- elems.add( se );
-
- // get an array and put them in the Stats object
- IStatElement[] ses = elems.toArray( new StatElement[elems.size()] );
- stats.setStatElements( ses );
+ elems.addAll(eqStats.getStatElements());
+
+ elems.add(new StatElement<Integer>( "Get Count",
Integer.valueOf(this.getCount) ) );
+ elems.add(new StatElement<Integer>( "GetMatching Count",
Integer.valueOf(this.getMatchingCount) ) );
+ elems.add(new StatElement<Integer>( "GetMultiple Count",
Integer.valueOf(this.getMultipleCount) ) );
+ elems.add(new StatElement<Integer>( "Remove Count",
Integer.valueOf(this.removeCount) ) );
+ elems.add(new StatElement<Integer>( "Put Count",
Integer.valueOf(this.putCount) ) );
+
+ stats.setStatElements( elems );
return stats;
}
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/CacheEventQueue.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/CacheEventQueue.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/CacheEventQueue.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/CacheEventQueue.java
Fri May 2 20:27:57 2014
@@ -365,24 +365,11 @@ public class CacheEventQueue<K extends S
IStats stats = new Stats();
stats.setTypeName( "Cache Event Queue" );
- ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
+ ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
- IStatElement se = null;
-
- se = new StatElement();
- se.setName( "Working" );
- se.setData( "" + super.isWorking() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Alive" );
- se.setData( "" + this.isAlive() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Empty" );
- se.setData( "" + this.isEmpty() );
- elems.add( se );
+ elems.add(new StatElement<Boolean>( "Working",
Boolean.valueOf(super.isWorking()) ) );
+ elems.add(new StatElement<Boolean>( "Alive",
Boolean.valueOf(this.isAlive()) ) );
+ elems.add(new StatElement<Boolean>( "Empty",
Boolean.valueOf(this.isEmpty()) ) );
int sz = 0;
synchronized ( queueLock )
@@ -402,15 +389,10 @@ public class CacheEventQueue<K extends S
}
}
- se = new StatElement();
- se.setName( "Size" );
- se.setData( "" + sz );
- elems.add( se );
+ elems.add(new StatElement<Integer>( "Size", Integer.valueOf(sz) )
);
}
- // get an array and put them in the Stats object
- IStatElement[] ses = elems.toArray( new StatElement[0] );
- stats.setStatElements( ses );
+ stats.setStatElements( elems );
return stats;
}
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/PooledCacheEventQueue.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/PooledCacheEventQueue.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/PooledCacheEventQueue.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/PooledCacheEventQueue.java
Fri May 2 20:27:57 2014
@@ -168,52 +168,23 @@ public class PooledCacheEventQueue<K ext
IStats stats = new Stats();
stats.setTypeName( "Pooled Cache Event Queue" );
- ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
+ ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
- IStatElement se = null;
-
- se = new StatElement();
- se.setName( "Working" );
- se.setData( "" + super.isWorking() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Destroyed" );
- se.setData( "" + this.isAlive() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Empty" );
- se.setData( "" + this.isEmpty() );
- elems.add( se );
+ elems.add(new StatElement<Boolean>( "Working",
Boolean.valueOf(super.isWorking()) ) );
+ elems.add(new StatElement<Boolean>( "Alive",
Boolean.valueOf(this.isAlive()) ) );
+ elems.add(new StatElement<Boolean>( "Empty",
Boolean.valueOf(this.isEmpty()) ) );
if ( pool.getQueue() != null )
{
BlockingQueue<Runnable> bb = pool.getQueue();
- se = new StatElement();
- se.setName( "Queue Size" );
- se.setData( "" + bb.size() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Queue Capacity" );
- se.setData( "" + bb.remainingCapacity() );
- elems.add( se );
+ elems.add(new StatElement<Integer>( "Queue Size",
Integer.valueOf(bb.size()) ) );
+ elems.add(new StatElement<Integer>( "Queue Capacity",
Integer.valueOf(bb.remainingCapacity()) ) );
}
- se = new StatElement();
- se.setName( "Pool Size" );
- se.setData( "" + pool.getPoolSize() );
- elems.add( se );
-
- se = new StatElement();
- se.setName( "Maximum Pool Size" );
- se.setData( "" + pool.getMaximumPoolSize() );
- elems.add( se );
-
- // get an array and put them in the Stats object
- IStatElement[] ses = elems.toArray( new StatElement[elems.size()] );
- stats.setStatElements( ses );
+ elems.add(new StatElement<Integer>( "Pool Size",
Integer.valueOf(pool.getPoolSize()) ) );
+ elems.add(new StatElement<Integer>( "Maximum Pool Size",
Integer.valueOf(pool.getMaximumPoolSize()) ) );
+
+ stats.setStatElements( elems );
return stats;
}
Modified:
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCache.java
URL:
http://svn.apache.org/viewvc/commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCache.java?rev=1592029&r1=1592028&r2=1592029&view=diff
==============================================================================
---
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCache.java
(original)
+++
commons/proper/jcs/trunk/commons-jcs-core/src/main/java/org/apache/commons/jcs/engine/control/CompositeCache.java
Fri May 2 20:27:57 2014
@@ -54,7 +54,6 @@ import org.apache.commons.jcs.engine.mem
import org.apache.commons.jcs.engine.memory.shrinking.ShrinkerThread;
import org.apache.commons.jcs.engine.stats.CacheStats;
import org.apache.commons.jcs.engine.stats.StatElement;
-import org.apache.commons.jcs.engine.stats.Stats;
import org.apache.commons.jcs.engine.stats.behavior.ICacheStats;
import org.apache.commons.jcs.engine.stats.behavior.IStatElement;
import org.apache.commons.jcs.engine.stats.behavior.IStats;
@@ -1480,28 +1479,22 @@ public class CompositeCache<K extends Se
stats.setRegionName( this.getCacheName() );
// store the composite cache stats first
- IStatElement[] elems = new StatElement[2];
- elems[0] = new StatElement();
- elems[0].setName( "HitCountRam" );
- elems[0].setData( "" + getHitCountRam() );
-
- elems[1] = new StatElement();
- elems[1].setName( "HitCountAux" );
- elems[1].setData( "" + getHitCountAux() );
+ ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>();
+
+ elems.add(new StatElement<Integer>( "HitCountRam",
Integer.valueOf(getHitCountRam()) ) );
+ elems.add(new StatElement<Integer>( "HitCountAux",
Integer.valueOf(getHitCountAux()) ) );
- // store these local stats
stats.setStatElements( elems );
// memory + aux, memory is not considered an auxiliary internally
int total = auxCaches.length + 1;
- IStats[] auxStats = new Stats[total];
+ ArrayList<IStats> auxStats = new ArrayList<IStats>(total);
- auxStats[0] = getMemoryCache().getStatistics();
+ auxStats.add(getMemoryCache().getStatistics());
- for ( int i = 0; i < auxCaches.length; i++ )
+ for ( AuxiliaryCache<K, V> aux : auxCaches )
{
- AuxiliaryCache<K, V> aux = auxCaches[i];
- auxStats[i + 1] = aux.getStatistics();
+ auxStats.add(aux.getStatistics());
}
// store the auxiliary stats