Skip to content

Latest commit

 

History

History
 
 

opentracing

grpc_opentracing

import "github.com/grpc-ecosystem/go-grpc-middleware/tracing/opentracing"

grpc_opentracing adds OpenTracing

OpenTracing Interceptors

These are both client-side and server-side interceptors for OpenTracing. They are a provider-agnostic, with backends such as Zipkin, or Google Stackdriver Trace.

For a service that sends out requests and receives requests, you need to use both, otherwise downstream requests will not have the appropriate requests propagated.

All server-side spans are tagged with grpc_ctxtags information.

For more information see: http://opentracing.io/documentation/ https://github.com/opentracing/specification/blob/master/semantic_conventions.md

client_interceptors.go doc.go id_extract.go metadata.go options.go server_interceptors.go

const (
    TagTraceId = "trace.traceid"
    TagSpanId  = "trace.spanid"
)
func ClientAddContextTags(ctx context.Context, tags opentracing.Tags) context.Context

ClientAddContextTags returns a context with specified opentracing tags, which are used by UnaryClientInterceptor/StreamClientInterceptor when creating a new span.

func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor

StreamClientInterceptor returns a new streaming client interceptor for OpenTracing.

func StreamServerInterceptor(opts ...Option) grpc.StreamServerInterceptor

StreamServerInterceptor returns a new streaming server interceptor for OpenTracing.

func UnaryClientInterceptor(opts ...Option) grpc.UnaryClientInterceptor

UnaryClientInterceptor returns a new unary client interceptor for OpenTracing.

func UnaryServerInterceptor(opts ...Option) grpc.UnaryServerInterceptor

UnaryServerInterceptor returns a new unary server interceptor for OpenTracing.

type FilterFunc func(ctx context.Context, fullMethodName string) bool

FilterFunc allows users to provide a function that filters out certain methods from being traced.

If it returns false, the given request will not be traced.

type Option func(*options)
func WithFilterFunc(f FilterFunc) Option

WithFilterFunc customizes the function used for deciding whether a given call is traced or not.

func WithTracer(tracer opentracing.Tracer) Option

WithTracer sets a custom tracer to be used for this middleware, otherwise the opentracing.GlobalTracer is used.


Generated by godoc2ghmd