org.jboss.cache.interceptors
Class CacheMgmtInterceptor

java.lang.Object
  extended by org.jboss.cache.interceptors.Interceptor
      extended by org.jboss.cache.interceptors.CacheMgmtInterceptor
All Implemented Interfaces:
CacheMgmtInterceptorMBean, InterceptorMBean

public class CacheMgmtInterceptor
extends Interceptor
implements CacheMgmtInterceptorMBean

Captures cache management statistics

Version:
$Id: CacheMgmtInterceptor.java,v 1.32 2007/06/06 12:43:48 msurtani Exp $
Author:
Jerry Gauthier

Field Summary
 
Fields inherited from class org.jboss.cache.interceptors.Interceptor
cache, configuration, last, log, next
 
Constructor Summary
CacheMgmtInterceptor()
           
 
Method Summary
 java.util.Map<java.lang.String,java.lang.Object> dumpStatistics()
          This implementation returns an empty Map.
 long getAverageReadTime()
          Returns average milliseconds for an attribute read operation This includes both hits and misses.
 long getAverageWriteTime()
          Returns average milliseconds for an attribute write operation
 long getElapsedTime()
          Returns seconds since cache started
 long getEvictions()
          Returns the number of cache eviction operations
 double getHitMissRatio()
          Returns the hit/miss ratio for the cache This ratio is defined as hits/(hits + misses)
 long getHits()
          Returns the number of cache attribute hits
 long getMisses()
          Returns the number of cache attribute misses
 int getNumberOfAttributes()
           
 int getNumberOfNodes()
           
 double getReadWriteRatio()
          Returns the read/write ratio for the cache This ratio is defined as (hits + misses)/stores
 long getStores()
          Returns the number of cache attribute put operations
 long getTimeSinceReset()
          Returns seconds since cache statistics reset If statistics haven't been reset, this will be the same as ElapsedTime
 java.lang.Object invoke(InvocationContext ctx)
          Pass the method on and capture cache statistics
 void resetStatistics()
          This implementation is a no-op.
 void setCache(CacheSPI cache)
           
 
Methods inherited from class org.jboss.cache.interceptors.Interceptor
getLast, getNext, getStatisticsEnabled, isActive, isOnePhaseCommitPrepareMehod, isPreparing, isValid, setLast, setNext, setStatisticsEnabled, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.jboss.cache.interceptors.InterceptorMBean
getStatisticsEnabled, setStatisticsEnabled
 

Constructor Detail

CacheMgmtInterceptor

public CacheMgmtInterceptor()
Method Detail

setCache

public void setCache(CacheSPI cache)
Overrides:
setCache in class Interceptor

invoke

public java.lang.Object invoke(InvocationContext ctx)
                        throws java.lang.Throwable
Pass the method on and capture cache statistics

Overrides:
invoke in class Interceptor
Returns:
Throws:
java.lang.Throwable

getHits

public long getHits()
Description copied from interface: CacheMgmtInterceptorMBean
Returns the number of cache attribute hits

Specified by:
getHits in interface CacheMgmtInterceptorMBean
Returns:
the number of cache hits

getMisses

public long getMisses()
Description copied from interface: CacheMgmtInterceptorMBean
Returns the number of cache attribute misses

Specified by:
getMisses in interface CacheMgmtInterceptorMBean
Returns:
the number of cache misses

getStores

public long getStores()
Description copied from interface: CacheMgmtInterceptorMBean
Returns the number of cache attribute put operations

Specified by:
getStores in interface CacheMgmtInterceptorMBean
Returns:
the number of cache put operations

getEvictions

public long getEvictions()
Description copied from interface: CacheMgmtInterceptorMBean
Returns the number of cache eviction operations

Specified by:
getEvictions in interface CacheMgmtInterceptorMBean
Returns:
the number of cache eviction operations

getHitMissRatio

public double getHitMissRatio()
Description copied from interface: CacheMgmtInterceptorMBean
Returns the hit/miss ratio for the cache This ratio is defined as hits/(hits + misses)

Specified by:
getHitMissRatio in interface CacheMgmtInterceptorMBean
Returns:
the hit/miss ratio for the cache

getReadWriteRatio

public double getReadWriteRatio()
Description copied from interface: CacheMgmtInterceptorMBean
Returns the read/write ratio for the cache This ratio is defined as (hits + misses)/stores

Specified by:
getReadWriteRatio in interface CacheMgmtInterceptorMBean
Returns:
the read/writes ratio for the cache

getAverageReadTime

public long getAverageReadTime()
Description copied from interface: CacheMgmtInterceptorMBean
Returns average milliseconds for an attribute read operation This includes both hits and misses.

Specified by:
getAverageReadTime in interface CacheMgmtInterceptorMBean
Returns:
the average number of milliseconds for a read operation

getAverageWriteTime

public long getAverageWriteTime()
Description copied from interface: CacheMgmtInterceptorMBean
Returns average milliseconds for an attribute write operation

Specified by:
getAverageWriteTime in interface CacheMgmtInterceptorMBean
Returns:
the average number of milliseconds for a write operation

getNumberOfAttributes

public int getNumberOfAttributes()
Specified by:
getNumberOfAttributes in interface CacheMgmtInterceptorMBean

getNumberOfNodes

public int getNumberOfNodes()
Specified by:
getNumberOfNodes in interface CacheMgmtInterceptorMBean

getElapsedTime

public long getElapsedTime()
Description copied from interface: CacheMgmtInterceptorMBean
Returns seconds since cache started

Specified by:
getElapsedTime in interface CacheMgmtInterceptorMBean
Returns:
the number of seconds since the cache was started

getTimeSinceReset

public long getTimeSinceReset()
Description copied from interface: CacheMgmtInterceptorMBean
Returns seconds since cache statistics reset If statistics haven't been reset, this will be the same as ElapsedTime

Specified by:
getTimeSinceReset in interface CacheMgmtInterceptorMBean
Returns:
the number of seconds since the cache statistics were last reset

dumpStatistics

public java.util.Map<java.lang.String,java.lang.Object> dumpStatistics()
Description copied from class: Interceptor
This implementation returns an empty Map. If individual Interceptors wish to expose statistics, they can override this method.

Specified by:
dumpStatistics in interface InterceptorMBean
Overrides:
dumpStatistics in class Interceptor
Returns:
a map containing statistics

resetStatistics

public void resetStatistics()
Description copied from class: Interceptor
This implementation is a no-op. If individual Interceptors wish to expose statistics, they can override this method.

Specified by:
resetStatistics in interface InterceptorMBean
Overrides:
resetStatistics in class Interceptor