Class HazelcastCacheMetrics

java.lang.Object
io.micrometer.core.instrument.binder.cache.CacheMeterBinder
io.micrometer.core.instrument.binder.cache.HazelcastCacheMetrics
All Implemented Interfaces:
MeterBinder

@NonNullApi
@NonNullFields
public class HazelcastCacheMetrics
extends CacheMeterBinder
Collect metrics on Hazelcast caches, including detailed metrics on storage space, near cache usage, and timings.
  • Constructor Summary

    Constructors
    Constructor Description
    HazelcastCacheMetrics​(java.lang.Object cache, java.lang.Iterable<Tag> tags)
    Binder for Hazelcast cache metrics.
  • Method Summary

    Modifier and Type Method Description
    protected void bindImplementationSpecificMetrics​(MeterRegistry registry)
    Bind detailed metrics that are particular to the cache implementation, e.g.
    protected java.lang.Long evictionCount()  
    protected long hitCount()  
    protected java.lang.Long missCount()  
    static java.lang.Object monitor​(MeterRegistry registry, java.lang.Object cache, java.lang.Iterable<Tag> tags)
    Record metrics on a Hazelcast cache.
    static java.lang.Object monitor​(MeterRegistry registry, java.lang.Object cache, java.lang.String... tags)
    Record metrics on a Hazelcast cache.
    protected long putCount()
    The put mechanism is unimportant - this count applies to entries added to the cache according to a pre-defined load function such as exists in Guava/Caffeine caches as well as manual puts.
    protected java.lang.Long size()
    MOST cache implementations provide a means of retrieving the number of entries.

    Methods inherited from class io.micrometer.core.instrument.binder.cache.CacheMeterBinder

    bindTo, getTagsWithCacheName

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • HazelcastCacheMetrics

      public HazelcastCacheMetrics​(java.lang.Object cache, java.lang.Iterable<Tag> tags)
      Binder for Hazelcast cache metrics.
      Parameters:
      cache - Hazelcast IMap cache to instrument
      tags - Tags to apply to all recorded metrics.
  • Method Details

    • monitor

      public static java.lang.Object monitor​(MeterRegistry registry, java.lang.Object cache, java.lang.String... tags)
      Record metrics on a Hazelcast cache.
      Parameters:
      registry - registry to bind metrics to
      cache - Hazelcast IMap cache to instrument
      tags - Tags to apply to all recorded metrics. Must be an even number of arguments representing key/value pairs of tags.
      Returns:
      The instrumented cache, unchanged. The original cache is not wrapped or proxied in any way.
    • monitor

      public static java.lang.Object monitor​(MeterRegistry registry, java.lang.Object cache, java.lang.Iterable<Tag> tags)
      Record metrics on a Hazelcast cache.
      Parameters:
      registry - registry to bind metrics to
      cache - Hazelcast IMap cache to instrument
      tags - Tags to apply to all recorded metrics.
      Returns:
      The instrumented cache, unchanged. The original cache is not wrapped or proxied in any way.
    • size

      protected java.lang.Long size()
      Description copied from class: CacheMeterBinder
      MOST cache implementations provide a means of retrieving the number of entries. Even if
      Specified by:
      size in class CacheMeterBinder
      Returns:
      Total number of cache entries. This value may go up or down with puts, removes, and evictions. Returns null if the cache implementation does not provide a way to track cache size.
    • hitCount

      protected long hitCount()
      Specified by:
      hitCount in class CacheMeterBinder
      Returns:
      The number of hits against cache entries held in this local partition. Not all gets had to result from a get operation against cache. If a get operation elsewhere in the cluster caused a lookup against an entry held in this partition, the hit will be recorded against map stats in this partition and not in the map stats of the calling IMap.
    • missCount

      protected java.lang.Long missCount()
      Specified by:
      missCount in class CacheMeterBinder
      Returns:
      There is no way to calculate miss count in Hazelcast. See issue #586.
    • evictionCount

      @Nullable protected java.lang.Long evictionCount()
      Specified by:
      evictionCount in class CacheMeterBinder
      Returns:
      Total number of entries that have been evicted from the cache. Monotonically increasing eviction count. Returns null if the cache implementation does not support eviction, or does not provide a way to track the eviction count.
    • putCount

      protected long putCount()
      Description copied from class: CacheMeterBinder
      The put mechanism is unimportant - this count applies to entries added to the cache according to a pre-defined load function such as exists in Guava/Caffeine caches as well as manual puts. Note that Guava/Caffeine caches don't count manual puts.
      Specified by:
      putCount in class CacheMeterBinder
      Returns:
      Total number of entries added to the cache. Monotonically increasing count.
    • bindImplementationSpecificMetrics

      protected void bindImplementationSpecificMetrics​(MeterRegistry registry)
      Description copied from class: CacheMeterBinder
      Bind detailed metrics that are particular to the cache implementation, e.g. load duration for Caffeine caches, heap and disk size for EhCache caches. These metrics are above and beyond the basic set of metrics that is common to all caches.
      Specified by:
      bindImplementationSpecificMetrics in class CacheMeterBinder
      Parameters:
      registry - The registry to bind metrics to.