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-opentracing
or govendor
:
govendor fetch github.com/lovoo/gcloud-opentracing
or 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.