OpenTracing Tracer implementation for GCloud StackDriver in Go.
Go
Switch branches/tags
Clone or download
tecbot Merge pull request #6 from lovoo/closing
closing and required parameters
Latest commit 9a3ba70 Jul 19, 2017

README.md

GoDoc

gcloud-opentracing

OpenTracing Tracer implementation for GCloud StackDriver in Go. Based on basictracer and implemented Recorder for this propose.

Getting Started


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.

Sample Usage


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.