|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.sf.ehcache.Statistics
public class Statistics
An immutable Cache statistics implementation
This is like a value object, with the added ability to clear cache statistics on the cache. That ability does not survive any Serialization of this class. On deserialization the cache can be considered disconnected. The accuracy of these statistics are determined by the value ofCache.getStatisticsAccuracy()
at the time the statistic was computed. This can be changed by setting Cache.setStatisticsAccuracy(int)
.
Because this class maintains a reference to an Ehcache, any references held to this class will prevent the Ehcache
from getting garbage collected.
todo Add missCountExpired. Request from user.
Field Summary | |
---|---|
static int |
STATISTICS_ACCURACY_BEST_EFFORT
Best efforts accuracy setting. |
static int |
STATISTICS_ACCURACY_GUARANTEED
Guaranteed accuracy setting. |
static int |
STATISTICS_ACCURACY_NONE
Fast but not accurate setting. |
Constructor Summary | |
---|---|
Statistics(Ehcache cache,
int statisticsAccuracy,
long cacheHits,
long onDiskHits,
long offHeapHits,
long inMemoryHits,
long misses,
long onDiskMisses,
long offHeapMisses,
long inMemoryMisses,
long size,
float averageGetTime,
long evictionCount,
long memoryStoreSize,
long offHeapStoreSize,
long diskStoreSize,
long searchesPerSecond,
long averageSearchTime,
long writerQueueLength)
Creates a new statistics object, associated with a Cache |
Method Summary | |
---|---|
void |
clearStatistics()
Clears the statistic counters to 0 for the associated Cache. |
Ehcache |
getAssociatedCache()
|
String |
getAssociatedCacheName()
|
float |
getAverageGetTime()
The average get time. |
long |
getAverageSearchTime()
Gets the average execution time (in milliseconds) within the last sample period |
long |
getCacheHits()
The number of times a requested item was found in the cache. |
long |
getCacheMisses()
|
long |
getDiskStoreObjectCount()
|
long |
getEvictionCount()
Gets the number of cache evictions, since the cache was created, or statistics were cleared. |
long |
getInMemoryHits()
Number of times a requested item was found in the Memory Store. |
long |
getInMemoryMisses()
Number of times a requested item was not found in the Memory Store. |
long |
getMemoryStoreObjectCount()
|
long |
getObjectCount()
Gets the number of elements stored in the cache. |
long |
getOffHeapHits()
Number of times a requested item was found in the off-heap store. |
long |
getOffHeapMisses()
Number of times a requested item was not found in the off-heap store. |
long |
getOffHeapStoreObjectCount()
|
long |
getOnDiskHits()
Number of times a requested item was found in the Disk Store. |
long |
getOnDiskMisses()
Number of times a requested item was not found in the Disk Store. |
long |
getSearchesPerSecond()
Get the number of search executions that have completed in the last second |
int |
getStatisticsAccuracy()
Accurately measuring statistics can be expensive. |
String |
getStatisticsAccuracyDescription()
Accurately measuring statistics can be expensive. |
long |
getWriterQueueSize()
Gets the size of the write-behind queue, if any. |
static boolean |
isValidStatisticsAccuracy(int statisticsAccuracy)
Utility method to determine if a given value is a valid statistics accuracy value or not |
String |
toString()
Returns a String representation of the Ehcache statistics. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int STATISTICS_ACCURACY_NONE
public static final int STATISTICS_ACCURACY_BEST_EFFORT
public static final int STATISTICS_ACCURACY_GUARANTEED
Constructor Detail |
---|
public Statistics(Ehcache cache, int statisticsAccuracy, long cacheHits, long onDiskHits, long offHeapHits, long inMemoryHits, long misses, long onDiskMisses, long offHeapMisses, long inMemoryMisses, long size, float averageGetTime, long evictionCount, long memoryStoreSize, long offHeapStoreSize, long diskStoreSize, long searchesPerSecond, long averageSearchTime, long writerQueueLength)
cache
- The cache that clearStatistics()
will call, if not disconnectedstatisticsAccuracy
- cacheHits
- onDiskHits
- offHeapHits
- inMemoryHits
- misses
- size
- Method Detail |
---|
public void clearStatistics()
public long getCacheHits()
public long getInMemoryHits()
public long getOffHeapHits()
public long getOnDiskHits()
public long getCacheMisses()
public long getInMemoryMisses()
public long getOffHeapMisses()
public long getOnDiskMisses()
public long getObjectCount()
STATISTICS_ACCURACY_BEST_EFFORT
.
The size is the number of Element
s in the MemoryStore
plus
the number of Element
s in the DiskStore
.
This number is the actual number of elements, including expired elements that have
not been removed. Any duplicates between stores are accounted for.
Expired elements are removed from the the memory store when
getting an expired element, or when attempting to spool an expired element to
disk.
Expired elements are removed from the disk store when getting an expired element,
or when the expiry thread runs, which is once every five minutes.
STATISTICS_ACCURACY_GUARANTEED
.
This method accounts for elements which might be expired or duplicated between stores. It take approximately
200ms per 1000 elements to execute.
STATISTICS_ACCURACY_NONE
.
The number given may contain expired elements. In addition if the DiskStore is used it may contain some double
counting of elements. It takes 6ms for 1000 elements to execute. Time to execute is O(log n). 50,000 elements take
36ms.
public long getMemoryStoreObjectCount()
public long getOffHeapStoreObjectCount()
public long getDiskStoreObjectCount()
public int getStatisticsAccuracy()
STATISTICS_ACCURACY_BEST_EFFORT
, STATISTICS_ACCURACY_GUARANTEED
, STATISTICS_ACCURACY_NONE
public String getStatisticsAccuracyDescription()
public String getAssociatedCacheName()
public Ehcache getAssociatedCache()
public final String toString()
String
representation of the Ehcache
statistics.
toString
in class Object
public float getAverageGetTime()
public long getEvictionCount()
public long getAverageSearchTime()
public long getSearchesPerSecond()
public static boolean isValidStatisticsAccuracy(int statisticsAccuracy)
statisticsAccuracy
-
STATISTICS_ACCURACY_BEST_EFFORT
,
STATISTICS_ACCURACY_GUARANTEED
,
STATISTICS_ACCURACY_NONE
public long getWriterQueueSize()
|
ehcache | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |