Hi Sergey, >> In memory management scheme based on MemoryPolicies it may be useful (and >> easier) to collect some metrics not for individual caches but for whole >> MemoryPolicies where several caches may reside. >>
I would collect the metrics for every single MemoryPolicy as well as for individual caches. It makes sense to expose which cache contributes more to memory utilization. >> - free space / used space tracking; >> - allocation / eviction rate; Please consider this as well: - total number of pages; - total number of enters (how hard to support?). >> - metrics to track memory fragmentation: e.g. % of pages with only 8 >> bytes free, 16 bytes free and so on; >> - % of big fragmented entries in cache: may be useful to adjust page >> size. > How do you see this in the metrics interface? > 3. Useful, not going to remove: > getOffHeapGets //useful as there still may be deserialized entries > residing on-heap > getOffHeapHitPercentage > getOffHeapHits //overall hits include offheap and onheap > getOffHeapMisses //I think in new model is the same as getCacheMisses > getOffHeapMissPercentage //same as above > getOffHeapPuts //same as above > getOffHeapRemovals //same as above Could you please prepare an updated version of the cache metrics adding new methods and renaming existing ones (only if necessary)? It will be simpler to keep up the discussion relying on this updated interface. — Denis > On Mar 15, 2017, at 8:32 AM, Sergey Chugunov <[email protected]> > wrote: > > Also I looked through current set of metrics available on > *CacheMetrics *interface > and suggest following changes: > > > 1. All methods related to tracking swap space (including > *getOverflowSize*) to be removed. > > 2. Useless/hard to calculate in new memory management approach: > getOffHeapAllocatedSize //max size is constrained by MemoryPolicy config > getOffHeapEntriesCount //all cache entries live offheap > getOffHeapEvictions //will be captured on MemoryPolicyMetrics level; > getOffHeapMaxSize //same as the first one > > 3. Useful, not going to remove: > getOffHeapGets //useful as there still may be deserialized entries > residing on-heap > getOffHeapHitPercentage > getOffHeapHits //overall hits include offheap and onheap > getOffHeapMisses //I think in new model is the same as getCacheMisses > getOffHeapMissPercentage //same as above > getOffHeapPuts //same as above > getOffHeapRemovals //same as above > > Please share your thought if I miss something here. > > Thanks, > Sergey Chugunov. > > On Wed, Mar 15, 2017 at 4:51 PM, Sergey Chugunov <[email protected]> > wrote: > >> Hello Igniters, >> >> As part of [1] cache metrics need to be updated as some of them like swap >> hits are not applicable anymore. >> >> In memory management scheme based on MemoryPolicies it may be useful (and >> easier) to collect some metrics not for individual caches but for whole >> MemoryPolicies where several caches may reside. >> >> I suggest the following list of new metrics to collect for each >> MemoryPolicy: >> >> - free space / used space tracking; >> - allocation / eviction rate; >> - metrics to track memory fragmentation: e.g. % of pages with only 8 >> bytes free, 16 bytes free and so on; >> - % of big fragmented entries in cache: may be useful to adjust page >> size. >> >> >> Please suggest any other metrics that may be worth tracking. >> >> [1] https://issues.apache.org/jira/browse/IGNITE-3477 >> >> Thanks, >> Sergey Chugunov. >>
