Class PrometheusStatsLogger

  • All Implemented Interfaces:
    StatsLogger

    public class PrometheusStatsLogger
    extends java.lang.Object
    implements StatsLogger
    A Prometheus based StatsLogger implementation.
    • Constructor Detail

      • PrometheusStatsLogger

        PrometheusStatsLogger​(PrometheusMetricsProvider provider,
                              java.lang.String scope,
                              java.util.Map<java.lang.String,​java.lang.String> labels)
    • Method Detail

      • 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.
      • getThreadScopedOpStatsLogger

        public OpStatsLogger getThreadScopedOpStatsLogger​(java.lang.String name)
        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.
      • 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
      • getThreadScopedCounter

        public Counter getThreadScopedCounter​(java.lang.String name)
        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.
      • 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
      • 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.
      • 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.
      • scopeLabel

        public StatsLogger scopeLabel​(java.lang.String labelName,
                                      java.lang.String labelValue)
        Description copied from interface: StatsLogger
        Provide the stats logger with an attached label.
        Specified by:
        scopeLabel in interface StatsLogger
        Parameters:
        labelName - the name of the label.
        labelValue - the value of the label.
        Returns:
        stats logger under scope name.