Class OtlpMeterRegistry

java.lang.Object
io.micrometer.core.instrument.MeterRegistry
io.micrometer.core.instrument.push.PushMeterRegistry
io.micrometer.registry.otlp.OtlpMeterRegistry

public class OtlpMeterRegistry extends io.micrometer.core.instrument.push.PushMeterRegistry
Publishes meters in OTLP (OpenTelemetry Protocol) format. HTTP with Protobuf encoding is the only option currently supported.
Since:
1.9.0
  • Nested Class Summary

    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
     
    OtlpMeterRegistry(OtlpConfig config, io.micrometer.core.instrument.Clock clock)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    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)
     
    protected void
     
    void
    start(ThreadFactory threadFactory)
     
    void
     

    Methods inherited from class io.micrometer.core.instrument.push.PushMeterRegistry

    getLastScheduledPublishStartTime, isPublishing, start, waitForInProgressScheduledPublish

    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

    • OtlpMeterRegistry

      public OtlpMeterRegistry()
    • OtlpMeterRegistry

      public OtlpMeterRegistry(OtlpConfig config, io.micrometer.core.instrument.Clock clock)
  • Method Details

    • start

      public void start(ThreadFactory threadFactory)
      Overrides:
      start in class io.micrometer.core.instrument.push.PushMeterRegistry
    • stop

      public void stop()
      Overrides:
      stop in class io.micrometer.core.instrument.push.PushMeterRegistry
    • publish

      protected void publish()
      Specified by:
      publish in class io.micrometer.core.instrument.push.PushMeterRegistry
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • close

      public void close()
      Overrides:
      close in class io.micrometer.core.instrument.push.PushMeterRegistry