Class OpenTelemetryTracingOptions

java.lang.Object
com.azure.core.util.TracingOptions
com.azure.core.tracing.opentelemetry.OpenTelemetryTracingOptions

public class OpenTelemetryTracingOptions extends TracingOptions
OpenTelemetry-specific Azure SDK tracing options.
  • Constructor Details

  • Method Details

    • setOpenTelemetry

      public OpenTelemetryTracingOptions setOpenTelemetry(io.opentelemetry.api.OpenTelemetry openTelemetry)
      Sets implementation-specific state containing all configuration needed for the implementation such as OpenTelemetry MeterProvider. Check out OpenTelemetry Metrics plugin documentation for the details and examples.
      
       // configure OpenTelemetry SDK explicitly per https://opentelemetry.io/docs/instrumentation/java/manual/
       SdkTracerProvider tracerProvider = SdkTracerProvider.builder()
           .addSpanProcessor(BatchSpanProcessor.builder(LoggingSpanExporter.create()).build())
           .build();
      
       OpenTelemetrySdk openTelemetry = OpenTelemetrySdk.builder().setTracerProvider(tracerProvider).build();
       // Pass OpenTelemetry container to TracingOptions.
       TracingOptions customTracingOptions = new OpenTelemetryTracingOptions()
           .setOpenTelemetry(openTelemetry);
      
       // configure Azure Client to use customTracingOptions - it will use tracerProvider
       // to create tracers
       AzureClient sampleClient = new AzureClientBuilder()
           .endpoint("https://my-client.azure.com")
           .clientOptions(new ClientOptions().setTracingOptions(customTracingOptions))
           .build();
      
       // use client as usual, if it emits spans, they will be exported
       sampleClient.methodCall("get items");
      
       
      Parameters:
      openTelemetry - Instance of OpenTelemetry container
      Returns:
      the updated MetricsOptions object.