Class CachingStatsLogger

  • All Implemented Interfaces:
    StatsLogger

    public class CachingStatsLogger
    extends java.lang.Object
    implements StatsLogger
    A StatsLogger that caches the stats objects created by other StatsLogger.
    • Field Detail

      • counters

        protected final java.util.concurrent.ConcurrentMap<java.lang.String,​Counter> counters
      • opStatsLoggers

        protected final java.util.concurrent.ConcurrentMap<java.lang.String,​OpStatsLogger> opStatsLoggers
      • scopeStatsLoggers

        protected final java.util.concurrent.ConcurrentMap<java.lang.String,​StatsLogger> scopeStatsLoggers
    • Constructor Detail

      • CachingStatsLogger

        public CachingStatsLogger​(StatsLogger statsLogger)
    • Method Detail

      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getOpStatsLogger

        public OpStatsLogger getOpStatsLogger​(java.lang.String name)
        Specified by:
        getOpStatsLogger in interface StatsLogger
        Parameters:
        name - Stats Name
        Returns:
        Get the logger for an OpStat described by the name.
      • getCounter

        public Counter getCounter​(java.lang.String name)
        Specified by:
        getCounter in interface StatsLogger
        Parameters:
        name - Stats Name
        Returns:
        Get the logger for a simple stat described by the name
      • registerGauge

        public <T extends java.lang.Number> void registerGauge​(java.lang.String name,
                                                               Gauge<T> gauge)
        Description copied from interface: StatsLogger
        Register given gauge as name name.
        Specified by:
        registerGauge in interface StatsLogger
        Parameters:
        name - gauge name
        gauge - gauge function
      • unregisterGauge

        public <T extends java.lang.Number> void unregisterGauge​(java.lang.String name,
                                                                 Gauge<T> gauge)
        Description copied from interface: StatsLogger
        Unregister given gauge from name name.
        Specified by:
        unregisterGauge in interface StatsLogger
        Parameters:
        name - name of the gauge
        gauge - gauge function
      • scope

        public StatsLogger scope​(java.lang.String name)
        Description copied from interface: StatsLogger
        Provide the stats logger under scope name.
        Specified by:
        scope in interface StatsLogger
        Parameters:
        name - scope name.
        Returns:
        stats logger under scope name.
      • removeScope

        public void removeScope​(java.lang.String name,
                                StatsLogger statsLogger)
        Description copied from interface: StatsLogger
        Remove the given statsLogger for scope name. It can be no-op if the underlying stats provider doesn't have the ability to remove scope.
        Specified by:
        removeScope in interface StatsLogger
        Parameters:
        name - name of the scope
        statsLogger - the stats logger of this scope.
      • getThreadScopedOpStatsLogger

        public OpStatsLogger getThreadScopedOpStatsLogger​(java.lang.String name)
        Thread-scoped stats not currently supported.
        Specified by:
        getThreadScopedOpStatsLogger in interface StatsLogger
        Parameters:
        name - Stats Name
        Returns:
        Get the logger for an OpStat described by the name with extra labels for the threadpool/threadname and thread no. Lone threads always have 0 as their thread no.
      • getThreadScopedCounter

        public Counter getThreadScopedCounter​(java.lang.String name)
        Thread-scoped stats not currently supported.
        Specified by:
        getThreadScopedCounter in interface StatsLogger
        Parameters:
        name - Stats Name
        Returns:
        Get the logger for a simple stat described by the name with extra labels for the threadpool/threadname and thread no. Lone threads always have 0 as their thread no.