Latency and Event Tracing with Spring Cloud Data Flow
summary
Combines Sleuth/Zipkin with Spring Cloud Data Flow to trace events end-to-end: three Spring Cloud Stream apps (source → processor → sink) deployed via the Data Flow GUI, using the Rabbit binder to carry trace headers. Adds Sleuth deps and @NewSpan annotations, then Zipkin aggregates traces; default sampling is 10% (configurable to 100%). Demo shows a 691 ms trace, identifies the transform as ~593 ms and getSymbol as ~350 ms, fixes with finer spans and tags, exposes retries and a 1s queue delay under load — solution works with minimal code.
AI-written summary · about
chapters (22)
- 0:00Introduction and background
- 1:12Schwab’s client-first focus
- 2:15Event processing and rubber duck analogy
- 4:53Spring Cloud Data Flow components
- 6:16Telemetry and tracing with Sleuth and Zipkin
- 9:06Demo requirements and setup
- 11:35Building the stream with Spring Cloud Data Flow
- 13:19Deploying the stream
- 17:51Identifying latency issues
- 18:53Manual latency tracing drawbacks
- 20:58Introducing Sleuth for tracing
- 22:43Deploying Sleuth and Zipkin
- 23:46Analyzing traces in Zipkin
- 26:16Pinpointing slow methods
- 28:03Adding custom tags to spans
- 29:29Debugging errors with Zipkin
- 31:39Understanding retry logic
- 33:25Investigating slow traces during peak volume
- 36:11Advanced Sleuth features
- 39:05Limitations of Sleuth and Zipkin
- 41:11Conclusion and hiring announcement
- 42:49Q&A session
related talks
33mDistributed Tracing - Implementing Latency Analysis for microservices on Cloud Foundry
50mDistributed Tracing in the Wild
45mLatency tracing in distributed Java applications
46mHow to Properly Blame Things for Causing Latency
29mDistributed Tracing of Microservices - Neil Stevenson, Hazelcast
34mSlackTrace: A New Tracing Tool
41mTracing event-based systems with OpenTelemetry
49mRelational Observability for Cloud-Native Security and Data Science
