tracing

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2017 License: MIT Imports: 0 Imported by: 0

README

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 it.

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 lightstep-tracer-go.

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.

Documentation

Overview

Package tracing provides helpers and bindings for distributed tracing.

As your infrastructure grows, it becomes important to be able to trace a request, as it travels through multiple services and back to the user. Package tracing provides endpoints and transport helpers and middlewares to capture and emit request-scoped information. We use the excellent OpenTracing project to bind to concrete tracing systems.

Directories

Path Synopsis
Package opentracing provides Go kit integration to the OpenTracing project.
Package opentracing provides Go kit integration to the OpenTracing project.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL