Repolode
openzipkin

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. 1

    Start Zipkin with Docker

    docker run -d -p 9411:9411 openzipkin/zipkin
  2. 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