grpc

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2019 License: BSD-3-Clause Imports: 16 Imported by: 0

Documentation

Overview

Package grpc is a generated protocol buffer package.

It is generated from these files:

fixtures_test.proto

It has these top-level messages:

FixtureRequest
FixtureReply

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

Example (Client)
package main

import (
	"log"

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

	"google.golang.org/grpc"
)

func main() {
	// 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 {
		log.Fatal(err)
	}
	defer conn.Close()

	// And continue using the connection as normal.
}
Output:

Example (Server)
package main

import (
	"log"
	"net"

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

	"google.golang.org/grpc"
)

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

	// 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)
	}
}
Output:

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterFixtureServer added in v1.0.0

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

func StreamClientInterceptor added in v1.1.0

func StreamClientInterceptor(opts ...InterceptorOption) grpc.StreamClientInterceptor

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

func StreamServerInterceptor added in v1.1.0

func StreamServerInterceptor(opts ...InterceptorOption) grpc.StreamServerInterceptor

StreamServerInterceptor will trace streaming requests to the given gRPC server.

func UnaryClientInterceptor

func UnaryClientInterceptor(opts ...InterceptorOption) grpc.UnaryClientInterceptor

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

func UnaryServerInterceptor

func UnaryServerInterceptor(opts ...InterceptorOption) grpc.UnaryServerInterceptor

UnaryServerInterceptor will trace requests to the given grpc server.

Types

type FixtureClient added in v1.0.0

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 added in v1.0.0

func NewFixtureClient(cc *grpc1.ClientConn) FixtureClient

type FixtureReply added in v1.0.0

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

The response message containing the greetings

func (*FixtureReply) Descriptor added in v1.0.0

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

func (*FixtureReply) GetMessage added in v1.0.0

func (m *FixtureReply) GetMessage() string

func (*FixtureReply) ProtoMessage added in v1.0.0

func (*FixtureReply) ProtoMessage()

func (*FixtureReply) Reset added in v1.0.0

func (m *FixtureReply) Reset()

func (*FixtureReply) String added in v1.0.0

func (m *FixtureReply) String() string

type FixtureRequest added in v1.0.0

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 added in v1.0.0

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

func (*FixtureRequest) GetName added in v1.0.0

func (m *FixtureRequest) GetName() string

func (*FixtureRequest) ProtoMessage added in v1.0.0

func (*FixtureRequest) ProtoMessage()

func (*FixtureRequest) Reset added in v1.0.0

func (m *FixtureRequest) Reset()

func (*FixtureRequest) String added in v1.0.0

func (m *FixtureRequest) String() string

type FixtureServer added in v1.0.0

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

type Fixture_StreamPingClient added in v1.1.0

type Fixture_StreamPingClient interface {
	Send(*FixtureRequest) error
	Recv() (*FixtureReply, error)
	grpc1.ClientStream
}

type Fixture_StreamPingServer added in v1.1.0

type Fixture_StreamPingServer interface {
	Send(*FixtureReply) error
	Recv() (*FixtureRequest, error)
	grpc1.ServerStream
}

type InterceptorOption added in v1.0.0

type InterceptorOption func(*interceptorConfig)

InterceptorOption represents an option that can be passed to the grpc unary client and server interceptors.

func NoDebugStack added in v1.5.0

func NoDebugStack() InterceptorOption

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 WithServiceName added in v1.0.0

func WithServiceName(name string) InterceptorOption

WithServiceName sets the given service name for the intercepted client.

func WithStreamCalls added in v1.1.0

func WithStreamCalls(enabled bool) InterceptorOption

WithStreamCalls enables or disables tracing of streaming calls.

func WithStreamMessages added in v1.1.0

func WithStreamMessages(enabled bool) InterceptorOption

WithStreamMessages enables or disables tracing of streaming messages.

Jump to

Keyboard shortcuts

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