/zipkin

Zipkin is a distributed tracing system

Primary LanguageScalaApache License 2.0Apache-2.0

Zipkin (doc/zipkin-logo-200x119.jpg)

Zipkin is a distributed tracing system that helps us gather timing data for all the disparate services at Twitter.

Full documentation

See http://twitter.github.com/zipkin

Quick start

To install Zipkin on a single machine, see the Ubuntu Quickstart and Mac Quickstart guides. For more in-depth installation instructions with an explanation of the dependencies and related services, see install.md.

Zipkin itself provides three services:

  • To collect data: bin/collector
  • To extract data: bin/query
  • To display data: bin/web

If all three of these daemons are running, you should be able to visit http://localhost:8080 to view the Zipkin UI. There is also a browser extension which shows visualizations of traces of each page as you browse your website.

The next step is to collect trace data to view in Zipkin. To do this, interface with the collector (e.g. by using Scribe) to record trace data. There are several libraries to make this easier to do in different environments. Twitter uses Finagle; external libraries (currently for Python, REST, node, and Java) are listed in the wiki; and there is also a Ruby gem and Ruby Thrift client.

See the in-depth installation guide for more information.

Get involved

Check out the #zipkin IRC channel on chat.freenode.com to see if any developers are there for questions or live debugging tips. Otherwise, there are two mailing lists you can use to get in touch with other users and developers.

Users: https://groups.google.com/group/zipkin-user

Developers: https://groups.google.com/group/zipkin-dev

Issues

Noticed a bug? https://github.com/twitter/zipkin/issues

Contributing

See CONTRIBUTING.md for guidelines.

Areas where we'd love to see contributions:

  • adding tracing to more libraries and protocols
  • interesting reports generated with Hadoop from the trace data
  • extending collector to support more transports and storage systems
  • trace data visualizations in the web UI

Versioning

We use SemVer style versioning.

License

Copyright 2012 Twitter, Inc.

Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0