class SentinelOpenTelemetryProcessorSlotEntryCallback extends SentinelTracerProcessorSlotEntryCallback<Span> {
    public static final String INSTRUMENTATION_NAME = "opentelemetry.trace.tracer.name";

    @Override
    protected Span buildSpan() {<FILL_FUNCTION_BODY>}

    @Override
    protected void outputSpan(Span span, String key, String value) {
        span.setAttribute(key, value);
    }

    @Override
    protected void finishSpan(Span span) {
        span.end();
    }
}

        Environment environment = PluginContextAware.getStaticEnvironment();
        String instrumentationName = environment.getProperty(INSTRUMENTATION_NAME, String.class, SentinelStrategyMonitorConstant.TRACER_NAME);

        return GlobalOpenTelemetry.getTracer(instrumentationName).spanBuilder(SentinelStrategyMonitorConstant.SPAN_NAME).startSpan();
    
<methods>public non-sealed void <init>() ,public transient void onBlocked(BlockException, Context, ResourceWrapper, DefaultNode, int, java.lang.Object[]) ,public transient void onPass(Context, ResourceWrapper, DefaultNode, int, java.lang.Object[]) throws java.lang.Exception<variables>