We are using opentelemetry java agent in our monolith application (non-spring) and would like to customize span with onStart method of Span Processor.
Agent version: 2.7.0
Dependencies used are
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-sdk</artifactId>
<version>1.43.0</version>
</dependency>
<dependency>
<groupId>io.opentelemetry</groupId>
<artifactId>opentelemetry-sdk-trace</artifactId>
<version>1.43.0</version>
</dependency>
import io.opentelemetry.apimon.AttributeKey;
import io.opentelemetry.context.Context;
import io.opentelemetry.sdk.trace.ReadWriteSpan;
import io.opentelemetry.sdk.trace.ReadableSpan;
import io.opentelemetry.sdk.trace.SpanProcessor;
public class CustomSpanProcessor implements SpanProcessor {
@Override
public void onStart(Context parentContext, ReadWriteSpan span) {
// some logic
}
While starting server we add our span registering logic
CustomSpanProcessor customSpanProcessor = new CustomSpanProcessor();
SdkTracerProvider tracerProvider = SdkTracerProvider.builder()
.addSpanProcessor(customSpanProcessor)
.build();
OpenTelemetrySdk.builder().setTracerProvider(tracerProvider).buildAndRegisterGlobal();
But still onStart method is not getting invoked. Please suggest