Class Metrics

java.lang.Object
org.apache.solr.search.SolrCacheBase
org.apache.solr.blockcache.Metrics
All Implemented Interfaces:
AutoCloseable, SolrInfoBean, SolrMetricProducer

public class Metrics extends SolrCacheBase implements SolrInfoBean
A SolrInfoBean that provides metrics on block cache operations.
WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Field Details

    • blockCacheSize

      public AtomicLong blockCacheSize
    • blockCacheHit

      public AtomicLong blockCacheHit
    • blockCacheMiss

      public AtomicLong blockCacheMiss
    • blockCacheEviction

      public AtomicLong blockCacheEviction
    • blockCacheStoreFail

      public AtomicLong blockCacheStoreFail
    • blockCacheStoreFail_last

      public AtomicLong blockCacheStoreFail_last
    • shardBuffercacheAllocate

      public AtomicLong shardBuffercacheAllocate
    • shardBuffercacheLost

      public AtomicLong shardBuffercacheLost
  • Constructor Details

    • Metrics

      public Metrics()
  • Method Details

    • initializeMetrics

      public void initializeMetrics(SolrMetricsContext parentContext, io.opentelemetry.api.common.Attributes attributes)
      Description copied from interface: SolrMetricProducer
      Implementation should initialize all metrics to a SolrMetricsContext Registry/MeterProvider with Attributes as the common set of attributes that will be attached to every metric that is initialized for that class/component
      Specified by:
      initializeMetrics in interface SolrMetricProducer
      Parameters:
      parentContext - The registry that the component will initialize metrics to
      attributes - Base set of attributes that will be bound to all metrics for that component
    • close

      public void close()
      Description copied from interface: SolrMetricProducer
      Implementations should always call SolrMetricProducer.super.close() to ensure that metrics with the same life-cycle as this component are properly unregistered. This prevents obscure memory leaks.

      from: https://docs.oracle.com/javase/8/docs/api/java/lang/AutoCloseable.html While this interface method is declared to throw Exception, implementers are strongly encouraged to declare concrete implementations of the close method to throw more specific exceptions, or to throw no exception at all if the close operation cannot fail.

      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface SolrMetricProducer
    • getName

      public String getName()
      Description copied from interface: SolrInfoBean
      Simple common usage name, e.g. BasicQueryHandler, or fully qualified class name.
      Specified by:
      getName in interface SolrInfoBean
    • getDescription

      public String getDescription()
      Description copied from interface: SolrInfoBean
      Simple one or two line description
      Specified by:
      getDescription in interface SolrInfoBean
    • getSolrMetricsContext

      public SolrMetricsContext getSolrMetricsContext()
      Description copied from interface: SolrMetricProducer
      Implementations should return the context used in SolrMetricProducer.initializeMetrics(SolrMetricsContext, Attributes) to ensure proper cleanup of metrics at the end of the life-cycle of this component. This should be the child context if one was created, or null if the parent context was used.
      Specified by:
      getSolrMetricsContext in interface SolrMetricProducer