class OpenTracingStrategyTracer extends AbstractStrategyTracer<Span> {
    @Value("${" + StrategyConstant.SPRING_APPLICATION_STRATEGY_TRACER_EXCEPTION_DETAIL_OUTPUT_ENABLED + ":false}")
    protected Boolean tracerExceptionDetailOutputEnabled;

    @Autowired
    private Tracer tracer;

    @Override
    protected Span buildSpan() {
        return tracer.buildSpan(tracerSpanValue).start();
    }

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

    @Override
    protected void errorSpan(Span span, Throwable e) {<FILL_FUNCTION_BODY>}

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

    @Override
    protected Span getActiveSpan() {
        return tracer.activeSpan();
    }

    @Override
    protected String toTraceId(Span span) {
        return span.context().toTraceId();
    }

    @Override
    protected String toSpanId(Span span) {
        return span.context().toSpanId();
    }
}

        Map<String, Object> map = new LinkedHashMap<String, Object>();
        map.put(DiscoveryConstant.EVENT, DiscoveryConstant.ERROR);
        if (tracerExceptionDetailOutputEnabled) {
            map.put(DiscoveryConstant.ERROR_OBJECT, ExceptionUtils.getStackTrace(e));
        } else {
            map.put(DiscoveryConstant.ERROR_OBJECT, e);
        }
        span.log(map);
    
<methods>public non-sealed void <init>() ,public java.lang.String getSpanId() ,public java.lang.String getTraceId() ,public void spanBuild() ,public void spanError(java.lang.Throwable) ,public void spanFinish() ,public void spanOutput(Map<java.lang.String,java.lang.String>) <variables>protected com.nepxion.discovery.plugin.framework.adapter.PluginAdapter pluginAdapter,protected com.nepxion.discovery.plugin.strategy.context.StrategyContextHolder strategyContextHolder,protected com.nepxion.discovery.plugin.strategy.monitor.StrategyMonitorContext strategyMonitorContext,protected java.lang.Boolean tracerEnabled,protected java.lang.Boolean tracerRuleOutputEnabled,protected java.lang.Boolean tracerSeparateSpanEnabled,protected java.lang.String tracerSpanPluginValue,protected java.lang.String tracerSpanValue