opentelemetry-java-instrume.../examples/extension/src/main/java/com/example/javaagent/DemoSdkTracerProviderConfig...

31 lines
1.2 KiB
Java

package com.example.javaagent;
import com.google.auto.service.AutoService;
import io.opentelemetry.sdk.autoconfigure.spi.SdkTracerProviderConfigurer;
import io.opentelemetry.sdk.trace.SdkTracerProviderBuilder;
import io.opentelemetry.sdk.trace.SpanLimits;
import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor;
/**
* This is one of the main entry points for Instrumentation Agent's customizations.
* It allows configuring {@link SdkTracerProviderBuilder}.
* See the {@link #configure(SdkTracerProviderBuilder)} method below.
* <p>
* Also see https://github.com/open-telemetry/opentelemetry-java/issues/2022
*
* @see SdkTracerProviderConfigurer
* @see DemoPropagatorProvider
*/
@AutoService(SdkTracerProviderConfigurer.class)
public class DemoSdkTracerProviderConfigurer implements SdkTracerProviderConfigurer {
@Override
public void configure(SdkTracerProviderBuilder tracerProvider) {
tracerProvider
.setIdGenerator(new DemoIdGenerator())
.setSpanLimits(SpanLimits.builder().setMaxNumberOfAttributes(1024).build())
.setSampler(new DemoSampler())
.addSpanProcessor(new DemoSpanProcessor())
.addSpanProcessor(SimpleSpanProcessor.create(new DemoSpanExporter()));
}
}