@Bean @ConditionalOnMissingBean CurrentTraceContext.Builder sleuthCurrentTraceContextBuilder() { return ThreadLocalCurrentTraceContext.newBuilder(); }
@Override public CurrentTraceContext build() { return new ThreadLocalCurrentTraceContext(this, DEFAULT); }
@Override public Scope newScope(@Nullable TraceContext currentSpan) { final TraceContext previous = local.get(); local.set(currentSpan); class ThreadLocalScope implements Scope { @Override public void close() { local.set(previous); } } Scope result = new ThreadLocalScope(); return decorateScope(currentSpan, result); } }
@Override public CurrentTraceContext getObject() { CurrentTraceContext.Builder builder = ThreadLocalCurrentTraceContext.newBuilder(); if (scopeDecorators != null) { for (ScopeDecorator scopeDecorator : scopeDecorators) { builder.addScopeDecorator(scopeDecorator); } } return builder.build(); }
/** Uses a non-inheritable static thread local */ public static CurrentTraceContext create() { return new ThreadLocalCurrentTraceContext(new Builder(), DEFAULT); }
@Override public Scope newScope(@Nullable TraceContext currentSpan) { final TraceContext previous = local.get(); local.set(currentSpan); class ThreadLocalScope implements Scope { @Override public void close() { local.set(previous); } } Scope result = new ThreadLocalScope(); return decorateScope(currentSpan, result); } }
public TracedCorrelated() { super(Tracing.newBuilder() .currentTraceContext(ThreadLocalCurrentTraceContext.newBuilder() // intentionally added twice to test overhead of multiple correlations .addScopeDecorator(ThreadContextScopeDecorator.create()) .addScopeDecorator(ThreadContextScopeDecorator.create()) .build()) .spanReporter(AsyncReporter.create(new NoopSender())) .build()); } }
@Override public CurrentTraceContext build() { return new ThreadLocalCurrentTraceContext(this, DEFAULT); }
@Bean CurrentTraceContext currentTraceContext() { return ThreadLocalCurrentTraceContext.newBuilder().addScopeDecorator(MDCScopeDecorator.create()).build(); }
/** Uses a non-inheritable static thread local */ public static CurrentTraceContext create() { return new ThreadLocalCurrentTraceContext(new Builder(), DEFAULT); }
@Bean @ConditionalOnMissingBean CurrentTraceContext.Builder sleuthCurrentTraceContextBuilder() { return ThreadLocalCurrentTraceContext.newBuilder(); }
@Override public CurrentTraceContext getObject() { CurrentTraceContext.Builder builder = ThreadLocalCurrentTraceContext.newBuilder(); if (scopeDecorators != null) { for (ScopeDecorator scopeDecorator : scopeDecorators) { builder.addScopeDecorator(scopeDecorator); } } return builder.build(); }
/** Controls aspects of tracing such as the service name that shows up in the UI */ @Bean Tracing tracing(@Value("${spring.application.name}") String serviceName) { return Tracing.newBuilder() .localServiceName(serviceName) .propagationFactory(ExtraFieldPropagation.newFactory(B3Propagation.FACTORY, "user-name")) .currentTraceContext(ThreadLocalCurrentTraceContext.newBuilder() .addScopeDecorator(MDCScopeDecorator.create()) // puts trace IDs into logs .build() ) .spanReporter(spanReporter()).build(); }
private Tracing newTracing(String serviceName) { Tracing brave = null; if (camelContext.isUseMDCLogging()) { brave = Tracing.newBuilder() .currentTraceContext(ThreadLocalCurrentTraceContext.newBuilder() .addScopeDecorator(MDCScopeDecorator.create()).build()) .localServiceName(serviceName) .sampler(Sampler.create(rate)) .spanReporter(spanReporter).build(); } else { brave = Tracing.newBuilder() .localServiceName(serviceName) .sampler(Sampler.create(rate)) .spanReporter(spanReporter).build(); } return brave; }
Tracing.newBuilder() .currentTraceContext( ThreadLocalCurrentTraceContext.newBuilder() .addScopeDecorator(MDCScopeDecorator.create()) .build())