Jaeger is a CNCF-graduated distributed tracing platform for monitoring and troubleshooting requests across microservices.
openzipkin/zipkin
Zipkin is a distributed tracing system that collects and queries timing data to troubleshoot latency across service architectures.
Open-source alternative to:Datadog APM
- Stars
- 17,473
- Forks
- 3,093
- Open issues
- 176
- Last commit
- 3 months ago
What is it?
Zipkin collects timing data from instrumented applications and lets you look up traces by trace ID, or search by service name, operation, tags and duration. The UI summarizes where time is spent in each trace, whether operations failed, and shows a dependency diagram of how many traced requests flowed between applications.
Applications report spans over HTTP or Kafka, and other transports such as RabbitMQ, gRPC, Apache ActiveMQ and Apache Pulsar are also supported. Trace data can be kept in memory for testing or stored persistently in Apache Cassandra, Elasticsearch or OpenSearch, with a legacy MySQL option also available.
The project also provides a core Java library with Zipkin v1 and v2 JSON codecs and a storage component API, and ships the server as an executable jar, Docker image, Homebrew formula and Helm chart. A slim build is available for lighter deployments without messaging transports.
Key features
- 01Search traces by service, operation, tags and duration, or jump directly to a trace ID.
- 02Dependency graph showing request flow between applications, including error paths.
- 03Supports HTTP, Kafka, RabbitMQ, gRPC, ActiveMQ and Apache Pulsar for reporting spans.
- 04Pluggable storage: in-memory, Cassandra, Elasticsearch and OpenSearch.
- 05Core Java library with Zipkin v1 and v2 JSON codecs.
Use cases
- Diagnosing which service in a microservice chain causes high latency.
- Finding failed requests and tracing them across services by trace ID from logs.
- Running a local Zipkin server without a database for development and testing.
- Visualizing service dependencies to spot calls to deprecated services.
Quick start
- 1
Start Zipkin with Docker
docker run -d -p 9411:9411 openzipkin/zipkin - 2
Open the Zipkin UI in a browser at http://localhost:9411/zipkin
Things to know
- The default in-memory storage is not persistent and is not suitable for realistic workloads.
- Your applications must be instrumented with a tracer or instrumentation library before they send trace data.
- The Zipkin server requires JRE 17 or newer.
In collections
Topics
FAQ
- What is zipkin?
- Zipkin is a distributed tracing system that collects and queries timing data to troubleshoot latency across service architectures. Zipkin collects timing data from instrumented applications and lets you look up traces by trace ID, or search by service name, operation, tags and duration. The UI summarizes where time is spent in each trace, whether operations failed, and shows a dependency diagram of how many traced requests flowed between applications.
- Is zipkin free to use? What license does it have?
- zipkin is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is zipkin still maintained?
- Updated within 6 months. The last commit to zipkin was on Aug 6, 2026.
- What can I use zipkin for?
- Diagnosing which service in a microservice chain causes high latency. Finding failed requests and tracing them across services by trace ID from logs. Running a local Zipkin server without a database for development and testing. Visualizing service dependencies to spot calls to deprecated services.
- How do I install zipkin?
- Start Zipkin with Docker: docker run -d -p 9411:9411 openzipkin/zipkin Open the Zipkin UI in a browser at http://localhost:9411/zipkin
- Where can I get zipkin?
- The source code and installation instructions are on GitHub: https://github.com/openzipkin/zipkin
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Go SDK for instrumenting Go applications and sending transactions, errors, and runtime metrics to New Relic.
The Go implementation of OpenTelemetry, providing APIs and SDKs to instrument Go applications for traces, metrics and logs.
An APM system for monitoring, tracing and diagnosing distributed and cloud-native microservice architectures.
Open-source, OpenTelemetry-native observability platform that brings logs, metrics, traces, alerts and dashboards into one self-hostable tool.
Self-hostable observability platform for logs, metrics, traces, RUM and LLM monitoring, built in Rust and positioned as an alternative to Datadog and Splunk.