# Notes ## TODO: - Web Server - Async servlet - Reactive servlet - Zuul - Web Clients - Reactive WebClient - Feign - Async - TraceExecutors etc. - Runnable / Callable - @Async - Hystrix - Messaging - Reactor - RxJava - Scheduling ## Done: - Web Server - Simple handler interceptor - Web Clients - RestTemplate - Slf4j - with Brave in place it will also work for any other implementation (e.g. log4j) ## Removed features - `SpanLogger` - Name pattern of Span Logger will not be applicable - `Sampler` - TODO: describe the new sampling mechanism - `Metric` - TODO: discuss what happens to `SpanMetricReporter` - is anybody actually using it? # Migrations ## Sleuth's Tracer to brave.Tracing Before ``` import org.springframework.cloud.sleuth.Tracer; Tracer tracer; ``` After ``` import brave.Tracing; Tracing tracing; ``` ## Child span creation Before ``` Span child = tracer.createSpan("name"); ``` After ``` // tracing is brave.Tracing injected instead of Sleuth's Tracer brave.Span span = tracing.tracer().nextSpan().name("name"); ``` ## Span closing Before ``` Span child = tracer.createSpan("name"); try { // do sth } finally { tracer.close(child); } ``` After ``` // tracing is brave.Tracing injected instead of Sleuth's Tracer brave.Span span = this.tracing.tracer().nextSpan().name("name"); try { // do sth } finally { span.finish(); } ``` ## Span tagging Before ``` tracer.addTag("foo", "bar"); ``` After ``` // tracing is brave.Tracing injected instead of Sleuth's Tracer this.tracing.tracer().currentSpan().tag("foo", "bar"); ``` ## `TraceRunnable` and `TraceCallable` moved to `instrument.async` Before ``` org.springframework.cloud.sleuth.TraceRunnable org.springframework.cloud.sleuth.TraceCallable ``` After ``` org.springframework.cloud.sleuth.instrument.async.TraceRunnable org.springframework.cloud.sleuth.instrument.async.TraceCallable ``` ## `ArayListSpanAccumulator` renamed to `ArrayListSpanReporter` Before ``` org.springframework.cloud.sleuth.util.ArrayListSpanAccumulator ``` After ``` org.springframework.cloud.sleuth.util.ArrayListSpanReporter ``` ## `org.springframework.cloud.brave.sampler.SamplerProperties#percentage` renamed to `org.springframework.cloud.brave.sampler.SamplerProperties#probability` Related to https://github.com/spring-cloud/spring-cloud-sleuth/issues/397