Class SdkMeterProviderBuilder

java.lang.Object
io.opentelemetry.sdk.metrics.SdkMeterProviderBuilder

public final class SdkMeterProviderBuilder extends Object
Builder class for the SdkMeterProvider.
  • Method Details

    • setClock

      public SdkMeterProviderBuilder setClock(io.opentelemetry.sdk.common.Clock clock)
      Assign a Clock.
      Parameters:
      clock - The clock to use for all temporal needs.
      Returns:
      this
    • setResource

      public SdkMeterProviderBuilder setResource(io.opentelemetry.sdk.resources.Resource resource)
      Assign a Resource to be attached to all metrics created by Meters.
      Parameters:
      resource - A Resource implementation.
      Returns:
      this
    • setExemplarFilter

      public SdkMeterProviderBuilder setExemplarFilter(ExemplarFilter filter)
      Assign an ExemplarFilter for all metrics created by Meters.
      Returns:
      this
    • registerView

      public SdkMeterProviderBuilder registerView(InstrumentSelector selector, View view)
      Register a view with the given InstrumentSelector.

      Example on how to register a view:

      
       // create a SdkMeterProviderBuilder
       SdkMeterProviderBuilder meterProviderBuilder = SdkMeterProvider.builder();
      
       // create a selector to select which instruments to customize:
       InstrumentSelector instrumentSelector = InstrumentSelector.builder()
         .setInstrumentType(InstrumentType.COUNTER)
         .build();
      
       // create a specification of how you want the metrics aggregated:
       AggregatorFactory aggregatorFactory = AggregatorFactory.minMaxSumCount();
      
       // register the view with the SdkMeterProviderBuilder
       meterProviderBuilder.registerView(instrumentSelector, View.builder()
         .setAggregatorFactory(aggregatorFactory).build());
       
      Since:
      1.1.0
    • buildAndRegisterGlobal

      public SdkMeterProvider buildAndRegisterGlobal()
      Returns a new SdkMeterProvider built with the configuration of this SdkMeterProviderBuilder and registers it as the global MeterProvider.
      See Also:
      • GlobalMeterProvider
    • registerMetricReader

      public SdkMeterProviderBuilder registerMetricReader(MetricReaderFactory reader)
      Registers a MetricReader for this SDK.
      Parameters:
      reader - The factory for a reader of metrics.
      Returns:
      this
    • setMinimumCollectionInterval

      public SdkMeterProviderBuilder setMinimumCollectionInterval(Duration duration)
      Configure the minimum duration between synchronous collections. If collections occur more frequently than this, synchronous collection will be suppressed.
      Parameters:
      duration - The duration.
      Returns:
      this
    • build

      public SdkMeterProvider build()
      Returns a new SdkMeterProvider built with the configuration of this SdkMeterProviderBuilder. This provider is not registered as the global MeterProvider. It is recommended that you register one provider using buildAndRegisterGlobal() for use by instrumentation when that requires access to a global instance of MeterProvider.
      See Also:
      • GlobalMeterProvider