Codebase list golang-github-go-kit-kit / 4a67d58 tracing
4a67d58

Tree @4a67d58 (Download .tar.gz)

# package tracing

`package tracing` provides [Dapper-style][dapper] request tracing to services.
An implementation exists for [Zipkin][]; [Appdash][] support is planned.

[dapper]: http://research.google.com/pubs/pub36356.html
[Zipkin]: https://blog.twitter.com/2012/distributed-systems-tracing-with-zipkin
[Appdash]: https://sourcegraph.com/blog/117580140734

## Rationale

TODO

## Usage

Wrap a [server.Endpoint][] so that it emits traces to a Zipkin collector.

[server.Endpoint]: http://godoc.org/github.com/go-kit/kit/server#Endpoint

```go
func main() {
	var (
		myHost        = "instance01.addsvc.internal.net"
		myMethod      = "ADD"
		scribeHost    = "scribe.internal.net"
		timeout       = 50 * time.Millisecond
		batchSize     = 100
		batchInterval = 3 * time.Second
	)

	spanFunc := zipkin.NewSpanFunc(myHost, myMethod)
	collector, _ := zipkin.NewScribeCollector(scribeHost, timeout, batchSize, batchInterval)

	var e server.Endpoint
	e = makeEndpoint() // for your service
	e = zipkin.AnnotateEndpoint(spanFunc, collector)

	serve(e)
}
```

History of tracing @4a67d58afefb5a2a93b8e4e5cf24ecfcf349544d