diff --git a/README.adoc b/README.adoc
index af443d190..561f12fcb 100644
--- a/README.adoc
+++ b/README.adoc
@@ -401,7 +401,7 @@ the Spring BOM
==== Sleuth with Zipkin via HTTP
-If you want both Sleuth and Zipkin just add the `spring-cloud-starter-zipkin` dependency.
+If you want both Sleuth and Zipkin just add the `spring-cloud-starter-zipkin2` dependency.
[source,xml,indent=0,subs="verbatim,attributes",role="primary"]
.Maven
@@ -420,12 +420,12 @@ If you want both Sleuth and Zipkin just add the `spring-cloud-starter-zipkin` de
<2>
org.springframework.cloud
- spring-cloud-starter-zipkin
+ spring-cloud-starter-zipkin2
----
<1> In order not to pick versions by yourself it's much better if you add the dependency management via
the Spring BOM
-<2> Add the dependency to `spring-cloud-starter-zipkin`
+<2> Add the dependency to `spring-cloud-starter-zipkin2`
[source,groovy,indent=0,subs="verbatim,attributes",role="secondary"]
.Gradle
@@ -437,16 +437,22 @@ dependencyManagement { <1>
}
dependencies { <2>
- compile "org.springframework.cloud:spring-cloud-starter-zipkin"
+ compile "org.springframework.cloud:spring-cloud-starter-zipkin2"
}
----
<1> In order not to pick versions by yourself it's much better if you add the dependency management via
the Spring BOM
-<2> Add the dependency to `spring-cloud-starter-zipkin`
+<2> Add the dependency to `spring-cloud-starter-zipkin2`
-==== Sleuth with Zipkin via Spring Cloud Stream
+==== Sleuth with Zipkin via RabbitMQ or Kafka
-If you want both Sleuth and Zipkin just add the `spring-cloud-sleuth-stream` dependency.
+If you want to use RabbitMQ or Kafka instead of http, add the `spring-rabbit` or `spring-kafka`
+dependencies. The default destination name is `zipkin`.
+
+_Note: `spring-cloud-sleuth-stream` is deprecated and incompatible with these destinations_
+
+If you want Sleuth over RabbitMQ add the `spring-cloud-sleuth-starter-zipkin2` and `spring-rabbit`
+dependencies.
[source,xml,indent=0,subs="verbatim,attributes",role="primary"]
.Maven
@@ -465,23 +471,17 @@ If you want both Sleuth and Zipkin just add the `spring-cloud-sleuth-stream` dep
<2>
org.springframework.cloud
- spring-cloud-sleuth-stream
+ spring-cloud-sleuth-starter-zipkin2
<3>
- org.springframework.cloud
- spring-cloud-starter-sleuth
-
-
- <4>
- org.springframework.cloud
- spring-cloud-stream-binder-rabbit
+ org.springframework.amqp
+ spring-rabbit
----
<1> In order not to pick versions by yourself it's much better if you add the dependency management via
the Spring BOM
-<2> Add the dependency to `spring-cloud-sleuth-stream`
-<3> Add the dependency to `spring-cloud-starter-sleuth` - that way all dependant dependencies will be downloaded
-<4> Add a binder (e.g. Rabbit binder) to tell Spring Cloud Stream what it should bind to
+<2> Add the dependency to `spring-cloud-starter-sleuth-zipkin2` - that way all dependent dependencies will be downloaded
+<3> To automatically configure rabbit, simply add the spring-rabbit dependency
[source,groovy,indent=0,subs="verbatim,attributes",role="secondary"]
.Gradle
@@ -493,100 +493,14 @@ dependencyManagement { <1>
}
dependencies {
- compile "org.springframework.cloud:spring-cloud-sleuth-stream" <2>
- compile "org.springframework.cloud:spring-cloud-starter-sleuth" <3>
- // Example for Rabbit binding
- compile "org.springframework.cloud:spring-cloud-stream-binder-rabbit" <4>
+ compile "org.springframework.cloud:spring-cloud-starter-sleuth-zipkin2" <2>
+ compile "org.springframework.amqp:spring-rabbit" <3>
}
----
<1> In order not to pick versions by yourself it's much better if you add the dependency management via
the Spring BOM
-<2> Add the dependency to `spring-cloud-sleuth-stream`
-<3> Add the dependency to `spring-cloud-starter-sleuth` - that way all dependant dependencies will be downloaded
-<4> Add a binder (e.g. Rabbit binder) to tell Spring Cloud Stream what it should bind to
-
-==== Spring Cloud Sleuth Stream Zipkin Collector
-
-If you want to start a Spring Cloud Sleuth Stream Zipkin collector just add the `spring-cloud-sleuth-zipkin-stream`
-dependency
-
-[source,xml,indent=0,subs="verbatim,attributes",role="primary"]
-.Maven
-----
- <1>
-
-
- org.springframework.cloud
- spring-cloud-dependencies
- ${release.train.version}
- pom
- import
-
-
-
-
- <2>
- org.springframework.cloud
- spring-cloud-sleuth-zipkin-stream
-
- <3>
- org.springframework.cloud
- spring-cloud-starter-sleuth
-
-
- <4>
- org.springframework.cloud
- spring-cloud-stream-binder-rabbit
-
-----
-<1> In order not to pick versions by yourself it's much better if you add the dependency management via
-the Spring BOM
-<2> Add the dependency to `spring-cloud-sleuth-zipkin-stream`
-<3> Add the dependency to `spring-cloud-starter-sleuth` - that way all dependant dependencies will be downloaded
-<4> Add a binder (e.g. Rabbit binder) to tell Spring Cloud Stream what it should bind to
-
-[source,groovy,indent=0,subs="verbatim,attributes",role="secondary"]
-.Gradle
-----
-dependencyManagement { <1>
- imports {
- mavenBom "org.springframework.cloud:spring-cloud-dependencies:${releaseTrainVersion}"
- }
-}
-
-dependencies {
- compile "org.springframework.cloud:spring-cloud-sleuth-zipkin-stream" <2>
- compile "org.springframework.cloud:spring-cloud-starter-sleuth" <3>
- // Example for Rabbit binding
- compile "org.springframework.cloud:spring-cloud-stream-binder-rabbit" <4>
-}
-----
-<1> In order not to pick versions by yourself it's much better if you add the dependency management via
-the Spring BOM
-<2> Add the dependency to `spring-cloud-sleuth-zipkin-stream`
-<3> Add the dependency to `spring-cloud-starter-sleuth` - that way all dependant dependencies will be downloaded
-<4> Add a binder (e.g. Rabbit binder) to tell Spring Cloud Stream what it should bind to
-
-and then just annotate your main class with `@EnableZipkinStreamServer` annotation:
-
-[source,java]
-----
-package example;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.cloud.sleuth.zipkin.stream.EnableZipkinStreamServer;
-
-@SpringBootApplication
-@EnableZipkinStreamServer
-public class ZipkinStreamServerApplication {
-
- public static void main(String[] args) throws Exception {
- SpringApplication.run(ZipkinStreamServerApplication.class, args);
- }
-
-}
-----
+<2> Add the dependency to `spring-cloud-starter-sleuth-zipkin2` - that way all dependent dependencies will be downloaded
+<3> To automatically configure rabbit, simply add the spring-rabbit dependency
== Additional resources
@@ -639,15 +553,13 @@ a baggage element then it will be sent downstream either via HTTP or messaging t
* Provides simple metrics of accepted / dropped spans.
-* If `spring-cloud-sleuth-zipkin` then the app will generate and collect Zipkin-compatible traces.
+* If `spring-cloud-sleuth-zipkin2` then the app will generate and collect Zipkin-compatible traces.
By default it sends them via HTTP to a Zipkin server on localhost (port 9411).
Configure the location of the service using `spring.zipkin.baseUrl`.
+ - If you depend on `spring-rabbit` or `spring-kafka` your app will send traces to a broker instead of http.
+ - Note: `spring-cloud-sleuth-stream` is deprecated and should no longer be used.
-* If `spring-cloud-sleuth-stream` then the app will generate and collect traces via https://github.com/spring-cloud/spring-cloud-stream[Spring Cloud Stream].
-Your app automatically becomes a producer of tracer messages that are sent over your broker of choice
-(e.g. RabbitMQ, Apache Kafka, Redis).
-
-IMPORTANT: If using Zipkin or Stream, configure the percentage of spans exported using `spring.sleuth.sampler.percentage`
+IMPORTANT: If using Zipkin, configure the percentage of spans exported using `spring.sleuth.sampler.percentage`
(default 0.1, i.e. 10%). *Otherwise you might think that Sleuth is not working cause it's omitting some spans.*
NOTE: the SLF4J MDC is always set and logback users will immediately see the trace and span ids in logs per the example