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 ¶
- func RegisterFixtureServer(s *grpc1.Server, srv FixtureServer)
- func StreamClientInterceptor(opts ...InterceptorOption) grpc.StreamClientInterceptor
- func StreamServerInterceptor(opts ...InterceptorOption) grpc.StreamServerInterceptor
- func UnaryClientInterceptor(opts ...InterceptorOption) grpc.UnaryClientInterceptor
- func UnaryServerInterceptor(opts ...InterceptorOption) grpc.UnaryServerInterceptor
- type FixtureClient
- type FixtureReply
- type FixtureRequest
- type FixtureServer
- type Fixture_StreamPingClient
- type Fixture_StreamPingServer
- type InterceptorOption
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterFixtureServer ¶
func RegisterFixtureServer(s *grpc1.Server, srv FixtureServer)
func StreamClientInterceptor ¶
func StreamClientInterceptor(opts ...InterceptorOption) grpc.StreamClientInterceptor
StreamClientInterceptor returns a grpc.StreamClientInterceptor which will trace client streams using the given set of options.
func StreamServerInterceptor ¶
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 ¶
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 ¶
func NewFixtureClient(cc *grpc1.ClientConn) FixtureClient
type FixtureReply ¶
type FixtureReply struct {
Message string `protobuf:"bytes,1,opt,name=message" json:"message,omitempty"`
}
The response message containing the greetings
func (*FixtureReply) Descriptor ¶
func (*FixtureReply) Descriptor() ([]byte, []int)
func (*FixtureReply) GetMessage ¶
func (m *FixtureReply) GetMessage() string
func (*FixtureReply) ProtoMessage ¶
func (*FixtureReply) ProtoMessage()
func (*FixtureReply) Reset ¶
func (m *FixtureReply) Reset()
func (*FixtureReply) String ¶
func (m *FixtureReply) String() string
type FixtureRequest ¶
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 ¶
func (*FixtureRequest) Descriptor() ([]byte, []int)
func (*FixtureRequest) GetName ¶
func (m *FixtureRequest) GetName() string
func (*FixtureRequest) ProtoMessage ¶
func (*FixtureRequest) ProtoMessage()
func (*FixtureRequest) Reset ¶
func (m *FixtureRequest) Reset()
func (*FixtureRequest) String ¶
func (m *FixtureRequest) String() string
type FixtureServer ¶
type FixtureServer interface { Ping(context.Context, *FixtureRequest) (*FixtureReply, error) StreamPing(Fixture_StreamPingServer) error }
type Fixture_StreamPingClient ¶
type Fixture_StreamPingClient interface { Send(*FixtureRequest) error Recv() (*FixtureReply, error) grpc1.ClientStream }
type Fixture_StreamPingServer ¶
type Fixture_StreamPingServer interface { Send(*FixtureReply) error Recv() (*FixtureRequest, error) grpc1.ServerStream }
type InterceptorOption ¶
type InterceptorOption func(*interceptorConfig)
InterceptorOption represents an option that can be passed to the grpc unary client and server interceptors.
func NoDebugStack ¶
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 ¶
func WithServiceName(name string) InterceptorOption
WithServiceName sets the given service name for the intercepted client.
func WithStreamCalls ¶
func WithStreamCalls(enabled bool) InterceptorOption
WithStreamCalls enables or disables tracing of streaming calls.
func WithStreamMessages ¶
func WithStreamMessages(enabled bool) InterceptorOption
WithStreamMessages enables or disables tracing of streaming messages.