Zipkin Distributed Tracing

Zipkin Distributed Tracing

github.com

1

About this website

Zipkin is a free and open-source distributed tracing system that helps gather timing data needed to troubleshoot latency problems in microservice architectures. Originally inspired by Google Dapper (Google's internal distributed tracing paper published in 2010), Zipkin was created by Twitter engineers (led by Kristine Adnrea and others) around 2012 to trace requests across Twitter's microservice architecture. Zipkin manages both the collection and lookup of this data. Key features: trace data model: a trace represents the end-to-end journey of a request through a distributed system. A trace consists of spans, where each span represents a unit of work (an HTTP request, database query, or internal operation) with a name, timestamp, duration, tags, and annotations. Spans are organized in a parent-child hierarchy, with context propagation via trace ID, span ID, and parent span ID. Instrumentation: applications generate trace data using instrumented libraries (Brave for Java, zipkin-js for JavaScript, zipkin-go for Go, pyramid_zipkin for Python). Instrumentation can be automatic (library-level) or manual (custom spans). Context propagation: trace context is propagated across service boundaries via HTTP headers (B3 Propagation: X-B3-TraceId, X-B3-SpanId, X-B3-ParentSpanId, X-B3-Sampled) or message metadata. Storage: Zipkin stores trace data in pluggable storage backends including in-memory (development), MySQL, PostgreSQL, Cassandra, Elasticsearch, and Amazon DynamoDB. Each backend is optimized for different scale and query patterns. Query API: REST API for querying traces by trace ID, service name, span name, tags, duration, and timestamp range. Dependencies: analyzes trace data to build a service dependency graph, showing which services call which other services. UI: built-in web UI for visualizing traces as waterfall/timeline diagrams, service maps, and dependency graphs. Sampling: configurable sampling rates to control data volume. Cross-platform (Java). Apache-2.0.

Tags & Categories

Categories

Tags

Statistics

1
Views
0
Clicks
0
Like
0
Dislike

Comments

Log In to post a comment

No comments yet. Be the first!