Apache Zipkin logo

Apache Zipkin

Apache Zipkin is a distributed tracing system that helps gather timing data needed to troubleshoot latency problems in service architectures. It manages both the collection and lookup of tracing data through a collector and query service. Zipkin provides a REST API, web UI, and multiple storage backends (Cassandra, Elasticsearch, MySQL). It supports the B3 propagation format and is compatible with OpenZipkin instrumentation libraries. Originally created at Twitter, it is now maintained as an open-source project.

1 APIs 6 Features
Distributed TracingMicroservicesMonitoringObservabilityOpen Source

APIs

Apache Zipkin REST API

The Zipkin REST API v2 provides endpoints for querying trace data, service names, span names, and dependencies. Key endpoints include GET /api/v2/services (list services), GET /...

Features

Distributed Trace Collection

Collect timing and metadata for distributed service calls with B3 propagation headers.

Trace Query and Visualization

Web UI and REST API for searching and visualizing distributed traces with latency analysis.

Service Dependency Graph

Automatic service call graph generation from collected trace data.

Multiple Storage Backends

Cassandra, Elasticsearch, and MySQL storage backends for different scale requirements.

OpenTelemetry Compatible

Accepts OTLP/Zipkin spans from OpenTelemetry instrumented services.

B3 Propagation

Standard B3 trace propagation headers for distributed context passing across services.

Use Cases

Microservices Latency Troubleshooting

Identify bottlenecks and slow service calls in distributed architectures.

Service Dependency Mapping

Automatically discover and visualize service-to-service call graphs.

Performance Regression Detection

Compare trace data before and after deployments to detect performance regressions.

Root Cause Analysis

Follow distributed call chains to identify the root cause of errors and failures.

Integrations

Spring Cloud Sleuth

Spring Boot auto-instrumentation for trace propagation and Zipkin reporting.

Brave

Java instrumentation library (Brave) for adding Zipkin tracing to Java applications.

Elasticsearch

Elasticsearch storage backend for scalable trace data storage and search.

Apache Cassandra

Cassandra storage backend for high-volume trace data.

OpenTelemetry

OpenTelemetry Zipkin exporter for reporting OTLP traces to Zipkin.

Kafka

Kafka collector for ingesting spans from high-throughput microservice architectures.

Resources

👥
GitHubRepository
GitHubRepository
🔗
Documentation
Documentation
🌐
Portal
Portal
🚀
GettingStarted
GettingStarted
📄
ReleaseNotes
ReleaseNotes
💬
Support
Support
📜
TermsOfService
TermsOfService
📦
Python SDK
SDK
📦
Java SDK
SDK