moby--moby/vendor/github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc
Tonis Tiigi ad77dee8ba vendor: add new opentracing deps for session tracing
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-06-02 11:10:38 -07:00
..
README.md vendor: add new opentracing deps for session tracing 2018-06-02 11:10:38 -07:00
client.go vendor: add new opentracing deps for session tracing 2018-06-02 11:10:38 -07:00
errors.go vendor: add new opentracing deps for session tracing 2018-06-02 11:10:38 -07:00
options.go vendor: add new opentracing deps for session tracing 2018-06-02 11:10:38 -07:00
package.go vendor: add new opentracing deps for session tracing 2018-06-02 11:10:38 -07:00
server.go vendor: add new opentracing deps for session tracing 2018-06-02 11:10:38 -07:00
shared.go vendor: add new opentracing deps for session tracing 2018-06-02 11:10:38 -07:00

README.md

OpenTracing support for gRPC in Go

The otgrpc package makes it easy to add OpenTracing support to gRPC-based systems in Go.

Installation

go get github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc

Documentation

See the basic usage examples below and the package documentation on godoc.org.

Client-side usage example

Wherever you call grpc.Dial:

// You must have some sort of OpenTracing Tracer instance on hand.
var tracer opentracing.Tracer = ...
...

// Set up a connection to the server peer.
conn, err := grpc.Dial(
    address,
    ... // other options
    grpc.WithUnaryInterceptor(
        otgrpc.OpenTracingClientInterceptor(tracer)),
    grpc.WithStreamInterceptor(
        otgrpc.OpenTracingStreamClientInterceptor(tracer)))

// All future RPC activity involving `conn` will be automatically traced.

Server-side usage example

Wherever you call grpc.NewServer:

// You must have some sort of OpenTracing Tracer instance on hand.
var tracer opentracing.Tracer = ...
...

// Initialize the gRPC server.
s := grpc.NewServer(
    ... // other options
    grpc.UnaryInterceptor(
        otgrpc.OpenTracingServerInterceptor(tracer)),
    grpc.StreamInterceptor(
        otgrpc.OpenTracingStreamServerInterceptor(tracer)))

// All future RPC activity involving `s` will be automatically traced.