diff --git a/src/.gitignore b/src/.gitignore index e64d611..94fc178 100644 --- a/src/.gitignore +++ b/src/.gitignore @@ -4,3 +4,5 @@ v/ github.com golang.org google.golang.org +cloud.google.com +go.opencensus.io diff --git a/src/productcatalogservice/Dockerfile b/src/productcatalogservice/Dockerfile index 0d20b54..cbcfa65 100644 --- a/src/productcatalogservice/Dockerfile +++ b/src/productcatalogservice/Dockerfile @@ -7,7 +7,9 @@ WORKDIR /src/microservices-demo/productcatalogservice RUN go get -d google.golang.org/grpc \ google.golang.org/grpc/codes \ google.golang.org/grpc/status \ - go.opencensus.io/plugin/ocgrpc + go.opencensus.io/plugin/ocgrpc \ + go.opencensus.io/trace \ + go.opencensus.io/exporter/stackdriver COPY . . # get remaining dependencies diff --git a/src/productcatalogservice/server.go b/src/productcatalogservice/server.go index 755dacf..d3ac5f8 100644 --- a/src/productcatalogservice/server.go +++ b/src/productcatalogservice/server.go @@ -9,7 +9,9 @@ import ( "strings" pb "./genproto" + "go.opencensus.io/exporter/stackdriver" "go.opencensus.io/plugin/ocgrpc" + "go.opencensus.io/trace" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -85,6 +87,17 @@ var catalog = []*pb.Product{ func main() { flag.Parse() + + exporter, err := stackdriver.NewExporter(stackdriver.Options{}) + if err != nil { + log.Printf("failed to initialize stackdriver exporter: %+v", err) + log.Println("skipping uploading traces to stackdriver") + } else { + trace.RegisterExporter(exporter) + log.Println("registered stackdriver") + } + + log.Printf("starting grpc server at :%d", *port) run(*port) select {} }