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
- func StreamClientInterceptor(opts ...Option) grpc.StreamClientInterceptor
- func StreamServerInterceptor(opts ...Option) grpc.StreamServerInterceptor
- func UnaryClientInterceptor(opts ...Option) grpc.UnaryClientInterceptor
- func UnaryServerInterceptor(opts ...Option) grpc.UnaryServerInterceptor
- type FilterFunc
- type MetadataTextMap
- type Option
Constants ¶
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 ¶
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 ¶
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.