package grpctrace

import "go.opentelemetry.io/otel/plugin/grpctrace"

Index

Functions

func Extract

func Extract(ctx context.Context, metadata *metadata.MD) ([]core.KeyValue, core.SpanContext)

Extract returns the correlation context and span context that another service encoded in the gRPC metadata object with Inject. This function is meant to be used on incoming requests.

func Inject

func Inject(ctx context.Context, metadata *metadata.MD)

Inject injects correlation context and span context into the gRPC metadata object. This function is meant to be used on outgoing requests.

func StreamClientInterceptor

func StreamClientInterceptor(tracer trace.Tracer) grpc.StreamClientInterceptor

StreamClientInterceptor returns a grpc.StreamClientInterceptor suitable for use in a grpc.Dial call.

For example:

tracer := global.Tracer("client-tracer")
s := grpc.Dial(
    grpc.WithStreamInterceptor(grpctrace.StreamClientInterceptor(tracer)),
    ...,  // (existing DialOptions))

func StreamServerInterceptor

func StreamServerInterceptor(tracer trace.Tracer) grpc.StreamServerInterceptor

StreamServerInterceptor returns a grpc.StreamServerInterceptor suitable for use in a grpc.NewServer call.

For example:

tracer := global.Tracer("client-tracer")
s := grpc.Dial(
    grpc.StreamInterceptor(grpctrace.StreamServerInterceptor(tracer)),
    ...,  // (existing ServerOptions))

func UnaryClientInterceptor

func UnaryClientInterceptor(tracer trace.Tracer) grpc.UnaryClientInterceptor

UnaryClientInterceptor returns a grpc.UnaryClientInterceptor suitable for use in a grpc.Dial call.

For example:

tracer := global.Tracer("client-tracer")
s := grpc.NewServer(
    grpc.WithUnaryInterceptor(grpctrace.UnaryClientInterceptor(tracer)),
    ...,  // (existing DialOptions))

func UnaryServerInterceptor

func UnaryServerInterceptor(tracer trace.Tracer) grpc.UnaryServerInterceptor

UnaryServerInterceptor returns a grpc.UnaryServerInterceptor suitable for use in a grpc.NewServer call.

For example:

tracer := global.Tracer("client-tracer")
s := grpc.Dial(
    grpc.UnaryInterceptor(grpctrace.UnaryServerInterceptor(tracer)),
    ...,  // (existing ServerOptions))

Source Files

grpctrace.go interceptor.go

Version
v0.4.3
Published
Apr 24, 2020
Platform
js/wasm
Imports
15 packages
Last checked
5 minutes ago

Tools for package owners.