31 lines
1,008 B
Go
31 lines
1,008 B
Go
// Copyright 2016-2018, Pulumi Corporation. All rights reserved.
|
|
|
|
package rpcutil
|
|
|
|
import (
|
|
"github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc"
|
|
opentracing "github.com/opentracing/opentracing-go"
|
|
"google.golang.org/grpc"
|
|
)
|
|
|
|
// OpenTracingServerInterceptor provides a default gRPC server interceptor for emitting tracing to the global
|
|
// OpenTracing tracer.
|
|
func OpenTracingServerInterceptor() grpc.UnaryServerInterceptor {
|
|
return otgrpc.OpenTracingServerInterceptor(
|
|
// Use the globally installed tracer
|
|
opentracing.GlobalTracer(),
|
|
// Log full payloads along with trace spans
|
|
otgrpc.LogPayloads(),
|
|
)
|
|
}
|
|
|
|
// OpenTracingClientInterceptor provides a default gRPC client interceptor for emitting tracing to the global
|
|
// OpenTracing tracer.
|
|
func OpenTracingClientInterceptor() grpc.UnaryClientInterceptor {
|
|
return otgrpc.OpenTracingClientInterceptor(
|
|
// Use the globally installed tracer
|
|
opentracing.GlobalTracer(),
|
|
// Log full payloads along with trace spans
|
|
otgrpc.LogPayloads(),
|
|
)
|
|
}
|