grpsink

package
v13.1.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2020 License: MIT Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthGrpcSink = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowGrpcSink   = fmt.Errorf("proto: integer overflow")
)

Functions

func RegisterSpanSinkServer

func RegisterSpanSinkServer(s *grpc.Server, srv SpanSinkServer)

Types

type Empty

type Empty struct {
}

func (*Empty) Descriptor

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

func (*Empty) Marshal

func (m *Empty) Marshal() (dAtA []byte, err error)

func (*Empty) MarshalTo

func (m *Empty) MarshalTo(dAtA []byte) (int, error)

func (*Empty) ProtoMessage

func (*Empty) ProtoMessage()

func (*Empty) Reset

func (m *Empty) Reset()

func (*Empty) Size

func (m *Empty) Size() (n int)

func (*Empty) String

func (m *Empty) String() string

func (*Empty) Unmarshal

func (m *Empty) Unmarshal(dAtA []byte) error

func (*Empty) XXX_DiscardUnknown added in v1.10.0

func (m *Empty) XXX_DiscardUnknown()

func (*Empty) XXX_Marshal added in v1.10.0

func (m *Empty) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Empty) XXX_Merge added in v1.10.0

func (m *Empty) XXX_Merge(src proto.Message)

func (*Empty) XXX_Size added in v1.10.0

func (m *Empty) XXX_Size() int

func (*Empty) XXX_Unmarshal added in v1.10.0

func (m *Empty) XXX_Unmarshal(b []byte) error

type GRPCSpanSink

type GRPCSpanSink struct {
	// contains filtered or unexported fields
}

GRPCSpanSink is a generic sink that sends spans to a configurable target service over gRPC. The sink is only tied to the grpc_sink.proto definition of a SpanSink service, and thus is agnostic with respect to the specific server it is connecting to.

func NewGRPCSpanSink

func NewGRPCSpanSink(ctx context.Context, target, name string, log *logrus.Logger, opts ...grpc.DialOption) (*GRPCSpanSink, error)

NewGRPCSpanSink creates a sinks.SpanSink that can write to any compliant gRPC server.

The target parameter should be of the "host:port"; the name parameter is prepended with "grpc-", and is used when reporting logs in order to permit differentiation between various services.

Any grpc.CallOpts that are provided will be used while first establishing the connection to the target server (in grpc.DialContext()).

func (*GRPCSpanSink) Flush

func (gs *GRPCSpanSink) Flush()

Flush reports total counts of the number of sent and dropped spans since the last flush.

No data is sent to the target sink by this call, as this sink dispatches all spans directly via gRPC during Ingest().

func (*GRPCSpanSink) Ingest

func (gs *GRPCSpanSink) Ingest(ssfSpan *ssf.SSFSpan) error

Ingest takes in a span and streams it over gRPC to the connected server.

func (*GRPCSpanSink) Name

func (gs *GRPCSpanSink) Name() string

Name returns this sink's name. As the gRPC sink is generic, it's expected that this is set via configuration and injected.

func (*GRPCSpanSink) Start

func (gs *GRPCSpanSink) Start(cl *trace.Client) error

Start performs final preparations on the sink before it is ready to begin ingesting spans.

type SpanSinkClient

type SpanSinkClient interface {
	SendSpan(ctx context.Context, in *ssf.SSFSpan, opts ...grpc.CallOption) (*Empty, error)
}

SpanSinkClient is the client API for SpanSink service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewSpanSinkClient

func NewSpanSinkClient(cc *grpc.ClientConn) SpanSinkClient

type SpanSinkServer

type SpanSinkServer interface {
	SendSpan(context.Context, *ssf.SSFSpan) (*Empty, error)
}

SpanSinkServer is the server API for SpanSink service.

Jump to

Keyboard shortcuts

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