
AWS X-Ray
Trace requests through distributed and serverless apps on AWS.
Discover top open-source software, updated regularly with real-world adoption signals.

Trace, visualize, and troubleshoot latency across microservices
Zipkin collects distributed tracing data, lets you query by service, operation, tags, or duration, and visualizes request flows with a UI and dependency diagram.

Zipkin is a distributed tracing system that gathers timing data from instrumented services, enabling developers to query traces by service name, operation, tags, or duration. The built‑in UI presents trace details and a dependency graph that highlights request paths and error flows, helping teams pinpoint latency bottlenecks.
Zipkin can be started instantly via a self‑contained JAR or the official Docker image. It supports multiple storage backends—including in‑memory for testing, Cassandra, and Elasticsearch—for persistent span storage. Reporting transports such as HTTP, Kafka, gRPC, RabbitMQ, and others allow flexible integration with existing pipelines. A slimmer distribution is available for faster startup when only in‑memory or Elasticsearch storage is needed.
Applications must be instrumented with a Zipkin tracer or a compatible library (e.g., Brave). Once spans are emitted, Zipkin aggregates, indexes, and serves them for interactive exploration or programmatic retrieval.
When teams consider Zipkin, these hosted platforms usually appear on the same shortlist.
Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.
Debugging high latency in a payment service
Identify slow downstream calls and visualize the call chain to pinpoint bottlenecks.
Monitoring service degradation after a deployment
Query recent traces by tag to see error rates and view affected services in the dependency diagram.
Testing new microservice locally
Run Zipkin with in‑memory storage to capture traces without external databases.
Integrating with existing Kafka pipeline
Configure services to send spans via Kafka and store them in Elasticsearch for long‑term analysis.
The server requires at least JRE 17; the core library works with Java 8+.
Yes, the in‑memory storage works for testing, but it is not suitable for production workloads.
Download the self‑contained JAR via the quick‑start script or run the official Docker image on port 9411.
Spans can be reported over HTTP, Kafka, gRPC, RabbitMQ, Apache Pulsar, ActiveMQ, among others.
Set the environment variable SEARCH_ENABLED=false or configure StorageComponent.Builder.searchEnabled(false).
Project at a glance
StableLast synced 4 days ago