zipkin
Zipkin is an open-source distributed tracing system that collects and visualizes timing data across microservices to help diagnose latency issues. It provides a web UI for querying traces by service, operation, tags, and duration, plus dependency graphs showing service interactions. Applications instrument themselves to report trace data via HTTP, Kafka, or other transports, with storage options including in-memory, Cassandra, and Elasticsearch.
Key facts
Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.
| Field | Value |
|---|---|
| Repository | openzipkin/zipkin |
| Owner | openzipkin |
| Primary language | Java |
| License | Apache-2.0 — OSI-approved |
| Stars | 17.4k |
| Forks | 3.1k |
| Open issues | 170 |
| Latest release | 3.6.1 (2026-04-08) |
| Last updated | 2026-04-08 |
| Source | https://github.com/openzipkin/zipkin |
What zipkin is
Zipkin is a Java-based tracing backend with a lightweight core library (155 KB, Java 8+) for encoding spans in v1/v2 JSON, a server requiring JRE 17+, and pluggable storage backends (in-memory, Cassandra 3.11.3+, Elasticsearch 5+, legacy MySQL v1). It supports multiple ingest transports (HTTP, Kafka, RabbitMQ, gRPC, ActiveMQ, Pulsar) and exposes REST APIs for span collection and querying, with optional search indexing and dependency link aggregation via separate jobs.
Get the zipkin source
Clone the repository and explore it locally.
git clone https://github.com/openzipkin/zipkin.gitcd zipkin# follow the project's README for install & configurationNeed it deployed, integrated, or customized instead? DEV.co ships production installs.
Best use cases
Implementation considerations
- Instrumentation required: applications must use a tracer library (e.g., Brave, OpenTelemetry instrumentation) to send trace data; Zipkin itself does not auto-instrument.
- Storage backend choice drives scalability and retention: in-memory is dev-only; Cassandra and Elasticsearch require separate provisioning, monitoring, and backup procedures.
- Dependency aggregation is asynchronous: requires running separate Spark jobs (zipkin-dependencies) to compute the dependency graph; real-time dependency visualization is not available.
- Sampling strategy critical for cost: at high throughput, capture every trace is infeasible; configure head-based or tail-based sampling in instrumentation libraries to control ingest volume.
- Java version baseline: core library supports Java 8+, but server requires JRE 17+; verify availability in your deployment environment.
When to avoid it — and what to weigh
- Minimal operational overhead required — Zipkin requires running a dedicated server and storage backend; even the slim variant needs Elasticsearch or in-memory storage, plus ongoing maintenance.
- Single-threaded or legacy monolith tracing only — Zipkin's value is clearest in distributed systems; monolithic applications or single-machine workloads may not justify the infrastructure overhead.
- Real-time alerting is the primary need — Zipkin focuses on trace collection and lookup; it is not a metrics system or alerting platform. Use alongside Prometheus or similar for operational alerts.
- No Java runtime environment available — Zipkin server requires JRE 17+; if your infrastructure cannot run Java, deployment becomes problematic (though Docker option exists).
License & commercial use
Apache License 2.0 (Apache-2.0). Permissive OSI-approved license allowing commercial use, modification, and distribution with standard ASL 2.0 obligations (preservation of copyright/license notice, statement of material changes).
Apache-2.0 permits unrestricted commercial use, including private deployment and modifications. No payment or licensing restrictions apply. Standard ASL 2.0 compliance required: retain copyright notices and state significant modifications. Review Apache-2.0 terms directly for your specific commercial context if uncertain.
DEV.co evaluation signals
Editorial assessment — not user reviews. Directional, with an explicit confidence level.
| Signal | Assessment |
|---|---|
| Maintenance | Active |
| Documentation | Adequate |
| License clarity | Clear |
| Deployment complexity | Moderate |
| DEV.co fit | Good |
| Assessment confidence | High |
No security vulnerabilities reported in provided data. Typical considerations for a tracing backend: (1) Zipkin UI and REST API expose trace details; restrict network access and use TLS in production. (2) Span data may include sensitive information (user IDs, request payloads); implement filtering or sampling policies at instrumentation layer. (3) Storage backend security (Cassandra, Elasticsearch) is independent; apply standard hardening. (4) Java runtime security: stay current with JRE 17+ patches. No end-to-end encryption or authentication built into core; use reverse proxy or API gateway if needed.
Alternatives to consider
Jaeger (CNCF/Uber)
Cloud-native distributed tracing; CNCF-graduated, tighter Kubernetes integration, native gRPC support, and out-of-the-box sampling. Larger operational footprint but maturing faster in cloud-native ecosystems.
OpenTelemetry (with exporter to backend)
Vendor-agnostic instrumentation framework; you choose the backend (Jaeger, Zipkin, Tempo, etc.). Reduces lock-in and allows easier switching if needs evolve. Requires separate collector/exporter setup.
Grafana Tempo
Cloud-native, storage-agnostic tracing backend designed for scale and cost efficiency. Integrates natively with Grafana ecosystem. Newer project; less production history than Zipkin.
Build on zipkin with DEV.co software developers
Start with the Zipkin quick-start guide, choose your storage backend, and integrate a tracer library like Brave or OpenTelemetry into your applications.
Talk to DEV.coRelated on DEV.co
Explore the category and the services that help you build with it.
zipkin FAQ
Do I need to modify my code to use Zipkin?
Can Zipkin run on a single machine without a database?
How much does Zipkin cost?
Does Zipkin work with Kubernetes?
Custom software development services
Adopting zipkin is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source observability software in production.
Ready to instrument your microservices?
Start with the Zipkin quick-start guide, choose your storage backend, and integrate a tracer library like Brave or OpenTelemetry into your applications.