# Modules * New modules: `spring-cloud-sleuth-autoconfigure`, `spring-cloud-sleuth-api`, `spring-cloud-sleuth-instrumentation` `spring-cloud-sleuth-core` removed and changed to `spring-cloud-sleuth-instrumentation` & `spring-cloud-sleuth-api` * Removed `spring-cloud-starter-sleuth-otel` To add OpenTelemetry support you need to add `spring-cloud-starter-sleuth` (adds Brave by default), exclude Brave and add `spring-cloud-sleuth-otel` dependency * Except for the tests, `spring-cloud-sleuth-autoconfigure` is the only module that can have access to `@Configuration`, `@ConfigurationProperties` classes. Tests have been added to ensure such separation. ## Package moving * `org.springframework.cloud.sleuth.api` -> `org.springframework.cloud.sleuth` * `org.springframework.cloud.sleuth.brave.autoconfig` -> `org.springframework.cloud.sleuth.autoconfig.brave` * `org.springframework.cloud.sleuth.otel.autoconfig` -> `org.springframework.cloud.sleuth.autoconfig.otel` * `org.springframework.cloud.sleuth` -> `org.springframework.cloud.sleuth` * Instrumentation: `org.springframework.cloud.sleuth.annotation` -> `org.springframework.cloud.sleuth.instrument.annotation` * All the autoconfiguration classes were moved under `org.springframework.cloud/sleuth.autoconfig` package ## Global class modifications * Any class registered as a bean is now public ## Classes * `RateLimitingSampler` constructor changed * Merged a lot of auto configuration classes into one (e.g. `BraveAutoConfiguration` now imports various other configurations) * Renamed `TraceBraveAutoConfiguration` to `BraveAutoConfiguration` * Renamed `TraceOtelAutoConfiguration` to `OtelAutoConfiguration` * Removed all `NoOp` implementations of the API
30 lines
1.9 KiB
Plaintext
30 lines
1.9 KiB
Plaintext
== Spring Cloud Sleuth Samples
|
|
|
|
=== Running the samples
|
|
|
|
There are a few samples with slightly different features.
|
|
You can run all of them from an IDE via the main method, or on the command line with `mvn spring-boot:run`.
|
|
They all log trace and span data on the console by default.
|
|
Here's a list:
|
|
|
|
* `spring-cloud-sleuth-sample`: vanilla (no zipkin) web app that calls back to itself on various endpoints ("/", "/call", "/async")
|
|
|
|
* `spring-cloud-sleuth-sample-zipkin`: same as vanilla sample but with zipkin (set `sample.zipkin.enabled=true` if you have a collector running)
|
|
|
|
* `spring-cloud-sleuth-sample-messaging`: a Spring Integration application with two HTTP endpoints ("/" and "/xform")
|
|
|
|
=== Running samples with Zipkin
|
|
|
|
1. Optionally run the https://github.com/openzipkin/zipkin[Zipkin] Server, e.g. via docker compose (there's a `docker-compose.yml` in https://github.com/spring-cloud/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin[Spring Cloud Sleuth], or in https://github.com/openzipkin/docker-zipkin[Docker Zipkin]
|
|
7. Run the zipkin sample application (set `sample.zipkin.enabled=false` if you have no Zipkin running).
|
|
If you are using a VM to run docker you might need to tunnel port 9411 to localhost, or change the `spring.zipkin.baseUrl`.
|
|
8. Hit `http://localhost:3380`, `http://localhost:3380/call`, `http://localhost:3380/async` for some interesting sample traces (the app callas back to itself).
|
|
9. Go to `http://localhost:9411` for Zipkin's UI (if you are using boot2docker the host will be different)
|
|
|
|
NOTE: You can see the zipkin spans without the UI (in logs) if you run the sample with `sample.zipkin.enabled=false`.
|
|
|
|
image::{github-raw}/docs/src/main/asciidoc/images/zipkin-trace-screenshot.png[Sample Zipkin Screenshot]
|
|
|
|
> The fact that the first trace in says "testSleuthMessaging" seems to be a bug in the UI (it has some annotations from that service, but it originates in the "testSleuthMessaging" service).
|
|
|