Class StatsdMeterRegistry

java.lang.Object
io.micrometer.core.instrument.MeterRegistry
io.micrometer.statsd.StatsdMeterRegistry

public class StatsdMeterRegistry extends io.micrometer.core.instrument.MeterRegistry
MeterRegistry for StatsD.

The following StatsD line protocols are supported:

  • Datadog (default)
  • Etsy
  • Telegraf
  • Sysdig

See StatsdFlavor for more details.

Since:
1.0.0
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    A builder for configuration of less common knobs on StatsdMeterRegistry.

    Nested classes/interfaces inherited from class io.micrometer.core.instrument.MeterRegistry

    io.micrometer.core.instrument.MeterRegistry.Config, io.micrometer.core.instrument.MeterRegistry.More
  • Field Summary

    Fields inherited from class io.micrometer.core.instrument.MeterRegistry

    clock
  • Constructor Summary

    Constructors
    Constructor
    Description
    StatsdMeterRegistry​(StatsdConfig config, io.micrometer.core.instrument.Clock clock)
     
    StatsdMeterRegistry​(StatsdConfig config, io.micrometer.core.instrument.util.HierarchicalNameMapper nameMapper, io.micrometer.core.instrument.Clock clock)
    Use this constructor for Etsy-flavored StatsD when you need to influence the way Micrometer's dimensional Meter.Id is written to a flat hierarchical name.
  • Method Summary

    Modifier and Type
    Method
    Description
    builder​(StatsdConfig config)
     
    void
     
    protected io.micrometer.core.instrument.distribution.DistributionStatisticConfig
     
    protected TimeUnit
     
    protected io.micrometer.core.instrument.Counter
    newCounter​(io.micrometer.core.instrument.Meter.Id id)
     
    protected io.micrometer.core.instrument.DistributionSummary
    newDistributionSummary​(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig, double scale)
     
    protected <T> io.micrometer.core.instrument.FunctionCounter
    newFunctionCounter​(io.micrometer.core.instrument.Meter.Id id, T obj, ToDoubleFunction<T> countFunction)
     
    protected <T> io.micrometer.core.instrument.FunctionTimer
    newFunctionTimer​(io.micrometer.core.instrument.Meter.Id id, T obj, ToLongFunction<T> countFunction, ToDoubleFunction<T> totalTimeFunction, TimeUnit totalTimeFunctionUnit)
     
    protected <T> io.micrometer.core.instrument.Gauge
    newGauge​(io.micrometer.core.instrument.Meter.Id id, T obj, ToDoubleFunction<T> valueFunction)
     
    protected io.micrometer.core.instrument.LongTaskTimer
    newLongTaskTimer​(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig)
     
    protected io.micrometer.core.instrument.Meter
    newMeter​(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.Meter.Type type, Iterable<io.micrometer.core.instrument.Measurement> measurements)
     
    protected io.micrometer.core.instrument.Timer
    newTimer​(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig, io.micrometer.core.instrument.distribution.pause.PauseDetector pauseDetector)
     
    int
    Deprecated.
    queue capacity is no longer available since 1.4.0
    int
    Deprecated.
    queue size is no longer available since 1.4.0
    void
     
    void
     

    Methods inherited from class io.micrometer.core.instrument.MeterRegistry

    clear, config, counter, counter, find, forEachMeter, gauge, gauge, gauge, gauge, gaugeCollectionSize, gaugeMapSize, get, getConventionName, getConventionTags, getMeters, isClosed, meterRegistrationFailed, more, newLongTaskTimer, newTimeGauge, remove, remove, removeByPreFilterId, summary, summary, timer, timer

    Methods inherited from class java.lang.Object

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

    • StatsdMeterRegistry

      public StatsdMeterRegistry(StatsdConfig config, io.micrometer.core.instrument.Clock clock)
    • StatsdMeterRegistry

      public StatsdMeterRegistry(StatsdConfig config, io.micrometer.core.instrument.util.HierarchicalNameMapper nameMapper, io.micrometer.core.instrument.Clock clock)
      Use this constructor for Etsy-flavored StatsD when you need to influence the way Micrometer's dimensional Meter.Id is written to a flat hierarchical name.
      Parameters:
      config - The StatsD configuration.
      nameMapper - A strategy for flattening dimensional IDs.
      clock - The clock to use for timing and polling certain types of meters.
  • Method Details

    • builder

      public static StatsdMeterRegistry.Builder builder(StatsdConfig config)
    • start

      public void start()
    • stop

      public void stop()
    • close

      public void close()
      Overrides:
      close in class io.micrometer.core.instrument.MeterRegistry
    • newGauge

      protected <T> io.micrometer.core.instrument.Gauge newGauge(io.micrometer.core.instrument.Meter.Id id, @Nullable T obj, ToDoubleFunction<T> valueFunction)
      Specified by:
      newGauge in class io.micrometer.core.instrument.MeterRegistry
    • newCounter

      protected io.micrometer.core.instrument.Counter newCounter(io.micrometer.core.instrument.Meter.Id id)
      Specified by:
      newCounter in class io.micrometer.core.instrument.MeterRegistry
    • newLongTaskTimer

      protected io.micrometer.core.instrument.LongTaskTimer newLongTaskTimer(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig)
      Overrides:
      newLongTaskTimer in class io.micrometer.core.instrument.MeterRegistry
    • newTimer

      protected io.micrometer.core.instrument.Timer newTimer(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig, io.micrometer.core.instrument.distribution.pause.PauseDetector pauseDetector)
      Specified by:
      newTimer in class io.micrometer.core.instrument.MeterRegistry
    • newDistributionSummary

      protected io.micrometer.core.instrument.DistributionSummary newDistributionSummary(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.distribution.DistributionStatisticConfig distributionStatisticConfig, double scale)
      Specified by:
      newDistributionSummary in class io.micrometer.core.instrument.MeterRegistry
    • newFunctionCounter

      protected <T> io.micrometer.core.instrument.FunctionCounter newFunctionCounter(io.micrometer.core.instrument.Meter.Id id, T obj, ToDoubleFunction<T> countFunction)
      Specified by:
      newFunctionCounter in class io.micrometer.core.instrument.MeterRegistry
    • newFunctionTimer

      protected <T> io.micrometer.core.instrument.FunctionTimer newFunctionTimer(io.micrometer.core.instrument.Meter.Id id, T obj, ToLongFunction<T> countFunction, ToDoubleFunction<T> totalTimeFunction, TimeUnit totalTimeFunctionUnit)
      Specified by:
      newFunctionTimer in class io.micrometer.core.instrument.MeterRegistry
    • newMeter

      protected io.micrometer.core.instrument.Meter newMeter(io.micrometer.core.instrument.Meter.Id id, io.micrometer.core.instrument.Meter.Type type, Iterable<io.micrometer.core.instrument.Measurement> measurements)
      Specified by:
      newMeter in class io.micrometer.core.instrument.MeterRegistry
    • getBaseTimeUnit

      protected TimeUnit getBaseTimeUnit()
      Specified by:
      getBaseTimeUnit in class io.micrometer.core.instrument.MeterRegistry
    • defaultHistogramConfig

      protected io.micrometer.core.instrument.distribution.DistributionStatisticConfig defaultHistogramConfig()
      Specified by:
      defaultHistogramConfig in class io.micrometer.core.instrument.MeterRegistry
    • queueSize

      @Deprecated public int queueSize()
      Deprecated.
      queue size is no longer available since 1.4.0
      Returns:
      constant -1
    • queueCapacity

      @Deprecated public int queueCapacity()
      Deprecated.
      queue capacity is no longer available since 1.4.0
      Returns:
      constant -1