Channels

Services

Zipkin: Twitter's new open source distributed tracing project

Gathering information about how quickly services are running, or not, can get very complex when dealing with dozens of disparate services over many systems. To solve this problem, Twitter created its own distributed tracing system called "Zipkin" and has now made it available as open source. According to its developers, Zipkin is "closely modelled" after a Google research paper from 2010 about Dapper, a large-scale distributed systems tracing infrastructure.

The micro-blogging company says that it currently uses Zipkin to gather timing data for all of its services. Twitter has created instrumented libraries that allow it to collect tracing information which is passed into a Collector process and then on into a database. Developers and system administrators can then analyse the data from the system, through a web frontend. For example, a typical use of the system would be finding out why user requests may be timing out. Traced requests can allow the developers to pinpoint where a bottleneck is in the system.