| - language: "C,C++" |
| library: >- |
| [zipkin-cpp](https://github.com/flier/zipkin-cpp) |
| framework: gRPC |
| propagation: Http (B3) |
| transports: Http, Kafka, Scribe, X-Ray |
| sampling: "Yes" |
| notes: includes benchmarks |
| |
| - language: "C#" |
| library: >- |
| [ZipkinTracerModule](https://github.com/mdsol/Medidata.ZipkinTracerModule) |
| framework: OWIN, HttpHandler |
| propagation: Http (B3) |
| transports: Http |
| sampling: "Yes" |
| notes: lc support. 4.5.2 or higher |
| |
| - language: Elixir |
| library: >- |
| [Tapper](https://github.com/Financial-Times/tapper) |
| framework: >- |
| Any, [Plug](https://github.com/elixir-lang/plug) supported via [Tapper Plug](https://github.com/Financial-Times/tapper_plug) |
| propagation: Http (B3) |
| transports: Http |
| sampling: "[Yes](https://github.com/Financial-Times/tapper_plug#sampling)" |
| notes: >- |
| Comprises tracing and reporting OTP-application [Tapper](https://github.com/Financial-Times/tapper), |
| with server integration via [Tapper Plug](https://github.com/Financial-Times/tapper_plug), and support for tracing |
| [Absinthe](http://absinthe-graphql.org/) via [Tapper Absinthe Plug](https://github.com/Financial-Times/tapper_absinthe_plug) |
| |
| - language: Go |
| library: >- |
| [go-zipkin](https://github.com/elodina/go-zipkin) |
| framework: x/net Context |
| propagation: |
| transports: Kafka |
| sampling: "Yes" |
| |
| - language: Go |
| library: >- |
| [monkit-zipkin](https://github.com/spacemonkeygo/monkit-zipkin/) |
| framework: >- |
| [Monkit](https://github.com/spacemonkeygo/monkit/) |
| propagation: Http (B3), easy to add others |
| transports: Scribe, UDP, easy to add others |
| sampling: "Yes" |
| |
| - language: Java |
| library: >- |
| [cassandra-zipkin-tracing](https://github.com/thelastpickle/cassandra-zipkin-tracing) |
| framework: >- |
| [Apache Cassandra](http://cassandra.apache.org) |
| propagation: CQL (B3) |
| transports: Http, Kafka, Scribe |
| sampling: "Yes" |
| notes: Java 8+ |
| |
| - language: Java |
| library: >- |
| [Dropwizard Zipkin](https://github.com/smoketurner/dropwizard-zipkin) |
| framework: >- |
| [Dropwizard](http://www.dropwizard.io) |
| propagation: Http (B3), Thrift |
| transports: Http, Scribe |
| sampling: "Yes" |
| notes: Java 7 or higher |
| |
| - language: Java |
| library: >- |
| [htrace](https://github.com/apache/incubator-htrace/tree/master/htrace-zipkin) |
| framework: HDFS, HBase |
| propagation: |
| transports: Http, Scribe |
| sampling: "Yes" |
| notes: Java 7 or higher |
| |
| - language: Java |
| library: >- |
| [Spring Cloud Sleuth](https://github.com/spring-cloud/spring-cloud-sleuth) |
| framework: Spring, Spring Cloud (e.g. Stream, Netflix) |
| propagation: Http (B3), Messaging (B3) |
| transports: Http, Spring Cloud Stream Compatible (e.g. RabbitMQ, Kafka, Redis or anything with a custom Binder) |
| sampling: "Yes" |
| notes: Java 7 or higher |
| |
| - language: Java |
| library: >- |
| [Wingtips](https://github.com/Nike-Inc/wingtips) |
| framework: >- |
| [Any Servlet API framework](https://github.com/Nike-Inc/wingtips/tree/master/wingtips-servlet-api), |
| [roll-your-own](https://github.com/Nike-Inc/wingtips#generic-application-pseudo-code), |
| [async framework support](https://github.com/Nike-Inc/wingtips#usage-in-reactive-asynchronous-nonblocking-scenarios) |
| propagation: Http (B3) |
| transports: Http |
| sampling: "Yes" |
| notes: Java 7 or higher, [SLF4J MDC support](https://github.com/Nike-Inc/wingtips#mdc_info) for auto-tagging all log messages with tracing info |
| |
| - language: JavaScript |
| library: >- |
| [appmetrics-zipkin](https://github.com/RuntimeTools/appmetrics-zipkin) |
| framework: Express, Koa |
| propagation: Http (B3) |
| transports: Http |
| sampling: "Yes" |
| notes: Provides zipkin support with addition of a single line of code |
| |
| - language: Python |
| library: >- |
| [py_zipkin](https://github.com/Yelp/py_zipkin) |
| framework: Any |
| propagation: Http (B3) |
| transports: Pluggable |
| sampling: >- |
| [Yes](https://github.com/Yelp/py_zipkin/blob/2b1218ea6438fa7fd35946092de58496f4f759dd/py_zipkin/zipkin.py#L97) |
| notes: Generic python tracer, used in pyramid-zipkin; py2, py3 support. |
| |
| - language: Python |
| library: >- |
| [pyramid_zipkin](https://github.com/Yelp/pyramid_zipkin) |
| framework: >- |
| [Pyramid](http://docs.pylonsproject.org/projects/pyramid/en/latest/) |
| propagation: Http (B3) |
| transports: >- |
| [Kafka \\| Scribe](http://pyramid-zipkin.readthedocs.org/en/latest/configuring_zipkin.html#zipkin-transport-handler) |
| sampling: >- |
| [Yes](http://pyramid-zipkin.readthedocs.org/en/latest/configuring_zipkin.html#zipkin-tracing-percent) |
| notes: py2, py3 support. |
| |
| - language: Python |
| library: >- |
| [swagger_zipkin](https://github.com/Yelp/swagger_zipkin) |
| framework: >- |
| Swagger ([Bravado](http://bravado.readthedocs.io/en/latest/)), to be used with [py_zipkin](https://github.com/Yelp/py_zipkin) |
| propagation: Http (B3) |
| transports: >- |
| [Kafka \\| Scribe](http://pyramid-zipkin.readthedocs.org/en/latest/configuring_zipkin.html#zipkin-transport-handler) |
| sampling: >- |
| [Yes](http://pyramid-zipkin.readthedocs.org/en/latest/configuring_zipkin.html#zipkin-tracing-percent) |
| notes: Uses py_zipkin; py2, py3 support. |
| |
| - language: Python |
| library: >- |
| [flask_zipkin](https://github.com/qiajigou/flask-zipkin) |
| framework: >- |
| [Flask](http://flask.pocoo.org) |
| propagation: Http (B3) |
| transports: Pluggable |
| sampling: >- |
| [Yes](http://qiajigou.click/flask-zipkin/) |
| notes: Uses py_zipkin; py2, py3 support. |
| |
| - language: Python |
| library: >- |
| [aiozipkin](https://github.com/aio-libs/aiozipkin) |
| framework: >- |
| [asyncio](https://docs.python.org/3/library/asyncio.html) |
| propagation: Http (B3) |
| transports: Http |
| sampling: >- |
| [Yes](https://github.com/aio-libs/aiozipkin/blob/a1a239d6f5a42fce35ecc9810c09eb4ac1d89780/aiozipkin/tracer.py#L9-L10) |
| notes: Supported python 3.5+ and native coroutines. |
| |
| - language: Scala |
| library: >- |
| [akka-tracing](https://github.com/levkhomich/akka-tracing) |
| framework: >- |
| [Akka](https://akka.io), [Spray](https://spray.io), [Play](https://www.playframework.com) |
| propagation: Http (B3), Thrift |
| transports: Scribe |
| sampling: "Yes" |
| notes: Java 6+, Scala 2.10+, activator templates for [Akka](https://github.com/levkhomich/activator-akka-tracing) and [Play](https://github.com/levkhomich/activator-play-tracing) |
| |
| - language: Scala |
| library: >- |
| [play-zipkin-tracing](https://github.com/bizreach/play-zipkin-tracing) |
| framework: >- |
| [Play](https://www.playframework.com) |
| propagation: Http (B3) |
| transports: Http |
| sampling: "Yes" |
| notes: Uses Brave4; Play 2.3, 2.4 and 2.5 support. |
| |
| - language: PHP |
| library: >- |
| [phpkin](https://github.com/whitemerry/phpkin) |
| framework: Any |
| propagation: "B3, custom (depends on user implementation)" |
| transports: "http, log file" |
| sampling: "Yes" |
| notes: Simple and full implementation without dependencies. Very flexible. |
| |
| - language: PHP |
| library: >- |
| [Molten](https://github.com/chuan-yun/Molten) |
| framework: Any |
| propagation: "B3" |
| transports: "http, log file, syslog" |
| sampling: "Yes" |
| notes: Application transparent;php5.6 or higher;auto trace pdo/mysqli/curl/memcached/redis;auto add http B3 header. |
| |
| - language: PHP |
| library: >- |
| [zipkin-php](https://github.com/jcchavezs/zipkin-php) |
| framework: Any |
| propagation: "B3" |
| transports: "http, log file" |
| sampling: "Yes" |
| notes: V2 native based on brave's model, compatible with PHP 5.6 and PHP 7. Check [this](https://github.com/openzipkin/zipkin-php-example) out for an example. |