In this liveProject, you’ll instrument tracing in multiple functions of a call flow inside a single microservice. By instrumenting multiple trace functions, the generated traces are far more meaningful than just a single function. Once you’ve established your tracing code, you’ll use a thread-local mechanism to pass the current active span to the next function so that the spans can be pieced together. Finally, you’ll generate a trace having spans in it representing each function the request goes through.
This project is designed for learning purposes and is not a complete, production-ready application or solution.
This liveProject is for experienced Java developers who are also confident users of Docker. To begin this liveProject, you will need to be familiar with:
- Intermediate Java
- Intermediate Spring Boot
- Intermediate Docker
- Basics of Jaeger
you will learn
In this liveProject, you’ll get hands-on experience instrumenting multiple functions in a call flow and connecting these spans as a trace.
- Instrument tracing inside multiple functions in a microservice using OpenTracing API and Jaeger SDK
- Pass down the current active span to the next function in a call flow using ScopeManager
- Set the relationship between a child Span and a parent Span
- Build a Docker image for deployment
- Run Jaeger with Docker