conntrack

package
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Unary        grpcType = "unary"
	ClientStream grpcType = "client_stream"
	ServerStream grpcType = "server_stream"
	BidiStream   grpcType = "bidi_stream"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type GRPCClientTracker

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

GRPCClientTracker represents a collection of lin-metrics to be collected for a gRPC client conn.

func NewGRPCClientTracker

func NewGRPCClientTracker(r *linmetric.Registry) *GRPCClientTracker

NewGRPCClientTracker returns a metric tracker for grpc client.

func (*GRPCClientTracker) StreamClientInterceptor

func (tracker *GRPCClientTracker) StreamClientInterceptor() func(
	ctx context.Context, desc *grpc.StreamDesc, cc *grpc.ClientConn, method string, streamer grpc.Streamer, opts ...grpc.CallOption,
) (grpc.ClientStream, error)

StreamClientInterceptor is a gRPC client-side interceptor for tracking Streaming RPCs

func (*GRPCClientTracker) UnaryClientInterceptor

func (tracker *GRPCClientTracker) UnaryClientInterceptor() func(
	ctx context.Context, method string, req, reply interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption,
) error

UnaryClientInterceptor is a gRPC client-side interceptor for tracking Unary RPCs

type GRPCServerTracker

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

GRPCServerTracker represents a collection of lin-metrics to be collected for a gRPC server.

func NewGRPCServerTracker

func NewGRPCServerTracker(r *linmetric.Registry) *GRPCServerTracker

NewGRPCServerTracker returns a metric tracker for grpc server.

func (*GRPCServerTracker) StreamServerInterceptor

func (tracker *GRPCServerTracker) StreamServerInterceptor() func(
	srv interface{}, ss grpc.ServerStream, info *grpc.StreamServerInfo, handler grpc.StreamHandler,
) error

StreamServerInterceptor is a gRPC server-side interceptor for tracking Streaming RPCs.

func (*GRPCServerTracker) UnaryServerInterceptor

func (tracker *GRPCServerTracker) UnaryServerInterceptor() func(
	ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler,
) (interface{}, error)

UnaryServerInterceptor is a gRPC server-side interceptor for tracking Unary RPCs.

type TrackedConn

type TrackedConn struct {
	net.Conn
	// contains filtered or unexported fields
}

TrackedConn tracks a net.Conn with linmetric.

func (*TrackedConn) Close

func (tc *TrackedConn) Close() error

func (*TrackedConn) Read

func (tc *TrackedConn) Read(p []byte) (int, error)

func (*TrackedConn) Write

func (tc *TrackedConn) Write(p []byte) (int, error)

type TrackedListener

type TrackedListener struct {
	net.Listener
	// contains filtered or unexported fields
}

TrackedListener represents net.Listener wrapper for track network statistics.

func NewTrackedListener

func NewTrackedListener(network, addr string, r *linmetric.Registry) (*TrackedListener, error)

NewTrackedListener returns new tracked TCP listener for the given addr.

func (*TrackedListener) Accept

func (tl *TrackedListener) Accept() (net.Conn, error)

Accept wraps the accept method with listener statistics

Jump to

Keyboard shortcuts

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