grpc_opentracing

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 19, 2018 License: NCSA Imports: 15 Imported by: 1

Documentation

Overview

`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

Index

Constants

View Source
const (
	TagTraceId = "trace.traceid"
	TagSpanId  = "trace.spanid"
)

Variables

This section is empty.

Functions

func StreamClientInterceptor

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

StreamClientInterceptor returns a new streaming server interceptor for OpenTracing.

func StreamServerInterceptor

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

StreamServerInterceptor returns a new streaming server interceptor for OpenTracing.

func UnaryClientInterceptor

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

UnaryClientInterceptor returns a new unary server interceptor for OpenTracing.

func UnaryServerInterceptor

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

UnaryServerInterceptor returns a new unary server interceptor for OpenTracing.

Types

type FilterFunc

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 MetadataTextMap

type MetadataTextMap metadata.MD

MetadataTextMap extends a metadata.MD to be an opentracing textmap

func (MetadataTextMap) ForeachKey

func (m MetadataTextMap) ForeachKey(callback func(key, val string) error) error

ForeachKey is a opentracing.TextMapReader interface that extracts values.

func (MetadataTextMap) Set

func (m MetadataTextMap) Set(key, val string)

Set is a opentracing.TextMapReader interface that extracts values.

type Option

type Option func(*options)

func WithFilterFunc

func WithFilterFunc(f FilterFunc) Option

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

func WithTracer

func WithTracer(tracer opentracing.Tracer) Option

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL