• New Feature
  • Status: New
  • 2 Major
  • Resolution:
  • drb
  • Reporter: bmadsen
  • September 15, 2015
  • 0
  • Watchers: 1
  • September 15, 2015

Description

I have developed a plug-in for the [Eclipse Memory Analyzer https://eclipse.org/mat/] that improves investigations of heap utilization of Ehcache based objects. This request is to explore acceptance of the contribution to benefit the Ehcache community.

This benefit this provides to development is in improved decision making in cache configuration and heap adjustments based upon real usage. Typically this occurs after OOM scenarios that generate a heapdump.

The plugin adds a Query Browser menu option to the Eclipse Memory Analyzer application for Ehcache queries.

h2. Query Browser Menu Options

h3. Cache Utilization

Generates a tabular report of all caches in the heap as well as a projection for heap usage if fully utilized. The following attributes are included.

* Name - The name of the cache. * Cached Class - The name of the class stored in the cache when it has entries. * Eviction Policy - The algorithm that decides which element to evict when the cache is full. This is typically LRU, LFU, or FIFO. * Time To Live - The maximum number of seconds an element can exist in the cache regardless of use. * Time To Idle - The maximum number of seconds an element can exist in the cache without being accessed. * Max Entries - The configured value of maxEntriesLocalHeap. * Entries - The number of objects stored in the cache at the time of the heap dump. * Retained Heap - This is the total retained heap for all net.sf.ehcache.store.NotifyingMemoryStore data. * Average Size - The value of Retained Heap / Entries. * Projected Max Heap - The product of Max Entries and Average Size. * Hit Ratio - Percentage of cache hits compared to misses. Statistics must be enabled to be valued. * Hits - The count of in memory cache hits. Statistics must be enabled to be valued. * Misses Not Found - Cache misses where the object is not previously stored in cache. Statistics must be enabled to be valued. * Misses Expired - Cache misses where the object is in the cache but is expired due to the TTL or TTI policy. Statistics must be enabled to be valued. * Evicted - Count of objects removed from the cache due to the Eviction Policy after the cache has reached its maximum size. Statistics must be enabled to be valued.

h3. List objects with outgoing references

A short cut for the below manual operation that includes the name of the cache as part of the Class Name within MAT to improve heap investigation efficiency.

List objects->with outgoing references->objects->net.sf.ehcache.store.NotifyingMemoryStore

Comments