OpenTracing Tracer implementation for GCloud StackDriver in Go. Based on basictracer and implemented Recorder for this propose.
To install gcloud-opentracing, use go get:
go get github.com/lovoo/gcloud-opentracingor govendor:
govendor fetch github.com/lovoo/gcloud-opentracingor other tool for vendoring.
First of all, you need to init Global Tracer with GCloud Tracer:
package main
import (
"log"
trace "cloud.google.com/go/trace/apiv1"
gcloudtracer "github.com/lovoo/gcloud-opentracing"
opentracing "github.com/opentracing/opentracing-go"
basictracer "github.com/opentracing/basictracer-go"
"golang.org/x/net/context"
)
func main() {
// ...
client, err := trace.NewClient(context.Background() /*auth options here if necessary*/)
if err != nil {
log.Fatalf("error creating a tracing client: %v", err)
}
recorder, err := gcloudtracer.NewRecorder(context.Background(), "gcp-project-id", client)
if err != nil {
log.Fatalf("error creating a recorder: %v", err)
}
defer recorder.Close()
opentracing.InitGlobalTracer(basictracer.New(recorder))
// ...
}Then you can create traces as decribed here. More information you can find on OpenTracing project website.