A distributed tracing system that collects and queries timing data to troubleshoot latency problems in microservices.
Zipkin is an open-source distributed tracing system that helps developers and operators troubleshoot latency issues in microservice architectures by collecting, storing, and visualizing timing data from requests as they propagate through services. It provides tools to query traces, analyze performance bottlenecks, and map service dependencies.
Developers and SREs working with distributed systems, microservices, or cloud-native applications who need visibility into request flows and performance diagnostics.
Zipkin offers a vendor-neutral, scalable tracing solution with broad integration support for various instrumentation libraries and storage backends, making it a flexible choice for organizations seeking to implement distributed tracing without lock-in.
Zipkin is a distributed tracing system
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports multiple storage backends (Cassandra, Elasticsearch) and data ingestion methods (HTTP, Kafka, RabbitMQ), allowing integration without lock-in, as highlighted in the README's flexible data ingestion and storage backend sections.
Persistent storage with Cassandra and Elasticsearch is designed for high-scale deployments, with documented support for modern versions and performance optimizations, such as custom indexing for larger data sets.
Offers executable JARs, Docker images, and a slim build that starts faster with in-memory or Elasticsearch storage, making it easy to set up in constrained or development environments, per the quick-start guide.
Compatible with various tracing libraries across programming languages via the Zipkin instrumentation page, facilitating adoption in polyglot microservice architectures without forcing a single technology stack.
Requires applications to be manually instrumented with tracing libraries, which can be complex and time-consuming, especially for large or legacy codebases, as noted in the need for configuration.
Dependency visualization requires running external jobs like zipkin-dependencies for aggregation with Cassandra and Elasticsearch backends, adding management overhead beyond the core server setup.
MySQL storage is described as having known performance problems and is not encouraged for new deployments, limiting viable persistent options for teams reliant on SQL databases without addressing these drawbacks.