Go-tracing provides an easy way to use zipkin tracing with only four lines of code.
// import the library
import "github.com/ricardo-ch/go-tracing"
// set your tracer
tracing.SetGlobalTracer(appName, "{zipkin_url}")
defer tracing.FlushCollector()
// define a trace
span, ctx := tracing.CreateSpan(ctx, "{span_name}", nil)
defer span.Finish()
docker run -d -p 9411:9411 openzipkin/zipkin
go run examples/basic/main.go
go run examples/httpServer/main.go
go run examples/httpServer-middleware/main.go
go run examples/httpGoKit-middleware/main.go
To watch traces you just have to hit http://localhost:9411/
- Create span from nothing
- Create span from context
- Extract/Inject span from/to httpRequest
- Extract/Inject span from/to a map[string]string (textMapCarrier)
- Declare an error span
go-tracing is licensed under the MIT license. (http://opensource.org/licenses/MIT)
Pull requests are the way to help us here. We will be really grateful.