Interface MeterRegistry


public interface MeterRegistry
Container for metering instruments. Meters with the same name and type (DoubleCounter, etc) can only be registered once. TODO(stu): describe name, unit and description
  • Field Details

    • NOOP

      static final MeterRegistry NOOP
      Noop implementation for tests
  • Method Details

    • registerDoubleCounter

      DoubleCounter registerDoubleCounter(String name, String description, String unit)
      Register a DoubleCounter. The returned object may be reused.
      Parameters:
      name - name of the counter
      description - description of purpose
      unit - the unit (bytes, sec, hour)
      Returns:
      the registered meter.
    • getDoubleCounter

      DoubleCounter getDoubleCounter(String name)
      Retrieved a previously registered DoubleCounter.
      Parameters:
      name - name of the counter
      Returns:
      the registered meter.
    • registerDoubleUpDownCounter

      DoubleUpDownCounter registerDoubleUpDownCounter(String name, String description, String unit)
      Register a DoubleUpDownCounter. The returned object may be reused.
      Parameters:
      name - name of the counter
      description - description of purpose
      unit - the unit (bytes, sec, hour)
      Returns:
      the registered meter.
    • getDoubleUpDownCounter

      DoubleUpDownCounter getDoubleUpDownCounter(String name)
      Retrieved a previously registered DoubleUpDownCounter.
      Parameters:
      name - name of the counter
      Returns:
      the registered meter.
    • registerDoubleGauge

      DoubleGauge registerDoubleGauge(String name, String description, String unit, Supplier<DoubleWithAttributes> observer)
      Register a DoubleGauge. The returned object may be reused.
      Parameters:
      name - name of the gauge
      description - description of purpose
      unit - the unit (bytes, sec, hour)
      observer - callback to use. This is called once during reporting period. Must not throw an exception and must be safe to call from different threads.
      Returns:
      the registered meter.
    • getDoubleGauge

      DoubleGauge getDoubleGauge(String name)
      Retrieved a previously registered DoubleGauge.
      Parameters:
      name - name of the gauge
      Returns:
      the registered meter.
    • registerDoubleHistogram

      DoubleHistogram registerDoubleHistogram(String name, String description, String unit)
      Register a DoubleHistogram. The returned object may be reused.
      Parameters:
      name - name of the histogram
      description - description of purpose
      unit - the unit (bytes, sec, hour)
      Returns:
      the registered meter.
    • getDoubleHistogram

      DoubleHistogram getDoubleHistogram(String name)
      Retrieved a previously registered DoubleHistogram.
      Parameters:
      name - name of the histogram
      Returns:
      the registered meter.
    • registerLongCounter

      LongCounter registerLongCounter(String name, String description, String unit)
      Register a LongCounter. The returned object may be reused.
      Parameters:
      name - name of the counter
      description - description of purpose
      unit - the unit (bytes, sec, hour)
      Returns:
      the registered meter.
    • registerLongAsyncCounter

      LongAsyncCounter registerLongAsyncCounter(String name, String description, String unit, Supplier<LongWithAttributes> observer)
      Register a LongAsyncCounter with an asynchronous callback. The returned object may be reused.
      Parameters:
      name - name of the counter
      description - description of purpose
      unit - the unit (bytes, sec, hour)
      observer - a callback to provide a metric value upon observation (metric interval)
    • getLongAsyncCounter

      LongAsyncCounter getLongAsyncCounter(String name)
      Retrieved a previously registered LongAsyncCounter.
      Parameters:
      name - name of the counter
      Returns:
      the registered meter.
    • registerDoubleAsyncCounter

      DoubleAsyncCounter registerDoubleAsyncCounter(String name, String description, String unit, Supplier<DoubleWithAttributes> observer)
      Register a DoubleAsyncCounter with an asynchronous callback. The returned object may be reused.
      Parameters:
      name - name of the counter
      description - description of purpose
      unit - the unit (bytes, sec, hour)
      observer - a callback to provide a metric value upon observation (metric interval)
    • getDoubleAsyncCounter

      DoubleAsyncCounter getDoubleAsyncCounter(String name)
      Retrieved a previously registered DoubleAsyncCounter.
      Parameters:
      name - name of the counter
      Returns:
      the registered meter.
    • getLongCounter

      LongCounter getLongCounter(String name)
      Retrieved a previously registered LongCounter.
      Parameters:
      name - name of the counter
      Returns:
      the registered meter.
    • registerLongUpDownCounter

      LongUpDownCounter registerLongUpDownCounter(String name, String description, String unit)
      Register a LongUpDownCounter. The returned object may be reused.
      Parameters:
      name - name of the counter
      description - description of purpose
      unit - the unit (bytes, sec, hour)
      Returns:
      the registered meter.
    • getLongUpDownCounter

      LongUpDownCounter getLongUpDownCounter(String name)
      Retrieved a previously registered LongUpDownCounter.
      Parameters:
      name - name of the counter
      Returns:
      the registered meter.
    • registerLongGauge

      LongGauge registerLongGauge(String name, String description, String unit, Supplier<LongWithAttributes> observer)
      Register a LongGauge. The returned object may be reused.
      Parameters:
      name - name of the gauge
      description - description of purpose
      unit - the unit (bytes, sec, hour)
      observer - callback to use. This is called once during reporting period. Must not throw an exception and must be safe to call from different threads.
      Returns:
      the registered meter.
    • getLongGauge

      LongGauge getLongGauge(String name)
      Retrieved a previously registered LongGauge.
      Parameters:
      name - name of the gauge
      Returns:
      the registered meter.
    • registerLongHistogram

      LongHistogram registerLongHistogram(String name, String description, String unit)
      Register a LongHistogram. The returned object may be reused.
      Parameters:
      name - name of the histogram
      description - description of purpose
      unit - the unit (bytes, sec, hour)
      Returns:
      the registered meter.
    • getLongHistogram

      LongHistogram getLongHistogram(String name)
      Retrieved a previously registered LongHistogram.
      Parameters:
      name - name of the histogram
      Returns:
      the registered meter.