As on-the-ground microservice practitioners are quickly realizing, the majority of operational problems that arise when moving to a distributed architecture are ultimately grounded in two areas: networking and observability. It is simply an orders of magnitude larger problem to network and debug a set of intertwined distributed services versus a single monolithic application. Jaeger, inspired by Dapper and OpenZipkin, is a distributed tracing system released as open source by Uber Technologies. It is used for monitoring and troubleshooting microservices-based distributed systems. OpenTracing compatible data model and instrumentation libraries include Go, Java, Node, Python, C++ and C#. Jaeger uses consistent upfront sampling with individual per service/endpoint probabilities and it has multiple storage backends: Cassandra, Elasticsearch, memory.
Features
- Distributed transaction monitoring
- Performance and latency optimization
- Root cause analysis
- Service dependency analysis
- Distributed context propagation
- Open source, end-to-end distributed tracing