dd-trace-go.v1: gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc Index | Examples | Files

package grpc

import "gopkg.in/DataDog/dd-trace-go.v1/contrib/google.golang.org/grpc"

Package grpc is a generated protocol buffer package.

It is generated from these files:


It has these top-level messages:


Package grpc provides functions to trace the google.golang.org/grpc package v1.2.


// Create the client interceptor using the grpc trace package.
si := grpctrace.StreamClientInterceptor(grpctrace.WithServiceName("my-grpc-client"))
ui := grpctrace.UnaryClientInterceptor(grpctrace.WithServiceName("my-grpc-client"))

// Dial in using the created interceptor...
conn, err := grpc.Dial("localhost:50051", grpc.WithInsecure(),
    grpc.WithStreamInterceptor(si), grpc.WithUnaryInterceptor(ui))
if err != nil {
defer conn.Close()

// And continue using the connection as normal.


// Create a listener for the server.
ln, err := net.Listen("tcp", ":50051")
if err != nil {

// Create the server interceptor using the grpc trace package.
si := grpctrace.StreamServerInterceptor(grpctrace.WithServiceName("my-grpc-client"))
ui := grpctrace.UnaryServerInterceptor(grpctrace.WithServiceName("my-grpc-client"))

// Initialize the grpc server as normal, using the tracing interceptor.
s := grpc.NewServer(grpc.StreamInterceptor(si), grpc.UnaryInterceptor(ui))

// ... register your services

// Start serving incoming connections.
if err := s.Serve(ln); err != nil {
    log.Fatalf("failed to serve: %v", err)



Package Files

client.go fixtures_test.pb.go grpc.go option.go server.go stats_client.go stats_server.go tags.go

func NewClientStatsHandler Uses

func NewClientStatsHandler(opts ...Option) stats.Handler

NewClientStatsHandler returns a gRPC client stats.Handler to trace RPC calls.

func NewServerStatsHandler Uses

func NewServerStatsHandler(opts ...Option) stats.Handler

NewServerStatsHandler returns a gRPC server stats.Handler to trace RPC calls.

func RegisterFixtureServer Uses

func RegisterFixtureServer(s *grpc1.Server, srv FixtureServer)

func StreamClientInterceptor Uses

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

StreamClientInterceptor returns a grpc.StreamClientInterceptor which will trace client streams using the given set of options.

func StreamServerInterceptor Uses

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

StreamServerInterceptor will trace streaming requests to the given gRPC server.

func UnaryClientInterceptor Uses

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

UnaryClientInterceptor returns a grpc.UnaryClientInterceptor which will trace requests using the given set of options.

func UnaryServerInterceptor Uses

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

UnaryServerInterceptor will trace requests to the given grpc server.

type FixtureClient Uses

type FixtureClient interface {
    Ping(ctx context.Context, in *FixtureRequest, opts ...grpc1.CallOption) (*FixtureReply, error)
    StreamPing(ctx context.Context, opts ...grpc1.CallOption) (Fixture_StreamPingClient, error)

func NewFixtureClient Uses

func NewFixtureClient(cc *grpc1.ClientConn) FixtureClient

type FixtureReply Uses

type FixtureReply struct {
    Message string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"`

The response message containing the greetings

func (*FixtureReply) Descriptor Uses

func (*FixtureReply) Descriptor() ([]byte, []int)

func (*FixtureReply) GetMessage Uses

func (m *FixtureReply) GetMessage() string

func (*FixtureReply) ProtoMessage Uses

func (*FixtureReply) ProtoMessage()

func (*FixtureReply) Reset Uses

func (m *FixtureReply) Reset()

func (*FixtureReply) String Uses

func (m *FixtureReply) String() string

type FixtureRequest Uses

type FixtureRequest struct {
    Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`

The request message containing the user's name.

func (*FixtureRequest) Descriptor Uses

func (*FixtureRequest) Descriptor() ([]byte, []int)

func (*FixtureRequest) GetName Uses

func (m *FixtureRequest) GetName() string

func (*FixtureRequest) ProtoMessage Uses

func (*FixtureRequest) ProtoMessage()

func (*FixtureRequest) Reset Uses

func (m *FixtureRequest) Reset()

func (*FixtureRequest) String Uses

func (m *FixtureRequest) String() string

type FixtureServer Uses

type FixtureServer interface {
    Ping(context.Context, *FixtureRequest) (*FixtureReply, error)
    StreamPing(Fixture_StreamPingServer) error

type Fixture_StreamPingClient Uses

type Fixture_StreamPingClient interface {
    Send(*FixtureRequest) error
    Recv() (*FixtureReply, error)

type Fixture_StreamPingServer Uses

type Fixture_StreamPingServer interface {
    Send(*FixtureReply) error
    Recv() (*FixtureRequest, error)

type InterceptorOption Uses

type InterceptorOption = Option

InterceptorOption represents an option that can be passed to the grpc unary client and server interceptors. InterceptorOption is deprecated in favor of Option.

func NonErrorCodes Uses

func NonErrorCodes(cs ...codes.Code) InterceptorOption

NonErrorCodes determines the list of codes which will not be considered errors in instrumentation. This call overrides the default handling of codes.Canceled as a non-error.

type Option Uses

type Option func(*config)

Option specifies a configuration option for the grpc package. Not all options apply to all instrumented structures.

func NoDebugStack Uses

func NoDebugStack() Option

NoDebugStack disables debug stacks for traces with errors. This is useful in situations where errors are frequent and the overhead of calling debug.Stack may affect performance.

func WithAnalytics Uses

func WithAnalytics(on bool) Option

WithAnalytics enables Trace Analytics for all started spans.

func WithAnalyticsRate Uses

func WithAnalyticsRate(rate float64) Option

WithAnalyticsRate sets the sampling rate for Trace Analytics events correlated to started spans.

func WithIgnoredMetadata Uses

func WithIgnoredMetadata(ms ...string) Option

WithIgnoredMetadata specifies keys to be ignored while tracing the metadata. Must be used in conjunction with WithMetadataTags.

func WithIgnoredMethods Uses

func WithIgnoredMethods(ms ...string) Option

WithIgnoredMethods specifies full methods to be ignored by the server side interceptor. When an incoming request's full method is in ms, no spans will be created.

func WithMetadataTags Uses

func WithMetadataTags() Option

WithMetadataTags specifies whether gRPC metadata should be added to spans as tags.

func WithRequestTags Uses

func WithRequestTags() Option

WithRequestTags specifies whether gRPC requests should be added to spans as tags.

func WithServiceName Uses

func WithServiceName(name string) Option

WithServiceName sets the given service name for the intercepted client.

func WithStreamCalls Uses

func WithStreamCalls(enabled bool) Option

WithStreamCalls enables or disables tracing of streaming calls. This option does not apply to the stats handler.

func WithStreamMessages Uses

func WithStreamMessages(enabled bool) Option

WithStreamMessages enables or disables tracing of streaming messages. This option does not apply to the stats handler.

Package grpc imports 20 packages (graph) and is imported by 2 packages. Updated 2020-08-04. Refresh now. Tools for package owners.