Codebase list golang-github-go-kit-kit / dff50435-7a33-4f0c-bbdc-f455eb10d80a/v0.6.0 tracing /

Tree @dff50435-7a33-4f0c-bbdc-f455eb10d80a/v0.6.0 (Download .tar.gz) @dff50435-7a33-4f0c-bbdc-f455eb10d80a/v0.6.0raw · history · blame

# package tracing

`package tracing` provides [Dapper][]-style request tracing to services.

## Rationale

Request tracing is a fundamental building block for large distributed
applications. It's instrumental in understanding request flows, identifying
hot spots, and diagnosing errors. All microservice infrastructures will
benefit from request tracing; sufficiently large infrastructures will require

## OpenTracing

Go kit builds on top of the [OpenTracing] API and uses the [opentracing-go]
package to provide tracing middlewares for its servers and clients. Currently
`kit/transport/http` and `kit/transport/grpc` transports are supported.

Since [OpenTracing] is an upcoming standard API, Go kit should support a
multitude of tracing backends. If a Tracer implementation in Go for your
back-end exists, it should work out of the box. The following tracing back-ends
are known to work with Go kit through the OpenTracing interface and are
highlighted in the [addsvc] example.

### LightStep

[LightStep] support is available through their standard Go package

### AppDash

[Appdash] support is available straight from their system repository in the
[appdash/opentracing] directory.

### Zipkin

[Zipkin] support is now available from the [zipkin-go-opentracing] package which
can be found at the [Open Zipkin GitHub] page. This means our old custom
`tracing/zipkin` package is now deprecated. In the `kit/tracing/zipkin`
directory you can still find the `docker-compose` script to bootstrap a Zipkin
development environment and a [README] detailing how to transition from the
old package to the new.



[Open Zipkin GitHub]: