Documentation ¶
Overview ¶
Package observability provides logging and metrics collection middleware for YARPC.
Index ¶
- type ContextExtractor
- type Middleware
- func (m *Middleware) Call(ctx context.Context, req *transport.Request, out transport.UnaryOutbound) (*transport.Response, error)
- func (m *Middleware) CallOneway(ctx context.Context, req *transport.Request, out transport.OnewayOutbound) (transport.Ack, error)
- func (m *Middleware) CallStream(ctx context.Context, request *transport.StreamRequest, ...) (*transport.ClientStream, error)
- func (m *Middleware) Handle(ctx context.Context, req *transport.Request, w transport.ResponseWriter, ...) error
- func (m *Middleware) HandleOneway(ctx context.Context, req *transport.Request, h transport.OnewayHandler) error
- func (m *Middleware) HandleStream(serverStream *transport.ServerStream, h transport.StreamHandler) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ContextExtractor ¶
A ContextExtractor pulls any relevant request-scoped data (e.g., tracing spans) from the request's Context.
func NewNopContextExtractor ¶
func NewNopContextExtractor() ContextExtractor
NewNopContextExtractor returns a no-op ContextExtractor.
type Middleware ¶
type Middleware struct {
// contains filtered or unexported fields
}
Middleware is logging and metrics middleware for all RPC types.
func NewMiddleware ¶
func NewMiddleware(logger *zap.Logger, scope *metrics.Scope, extract ContextExtractor) *Middleware
NewMiddleware constructs a Middleware.
func (*Middleware) Call ¶
func (m *Middleware) Call(ctx context.Context, req *transport.Request, out transport.UnaryOutbound) (*transport.Response, error)
Call implements middleware.UnaryOutbound.
func (*Middleware) CallOneway ¶
func (m *Middleware) CallOneway(ctx context.Context, req *transport.Request, out transport.OnewayOutbound) (transport.Ack, error)
CallOneway implements middleware.OnewayOutbound.
func (*Middleware) CallStream ¶
func (m *Middleware) CallStream(ctx context.Context, request *transport.StreamRequest, out transport.StreamOutbound) (*transport.ClientStream, error)
CallStream implements middleware.StreamOutbound.
func (*Middleware) Handle ¶
func (m *Middleware) Handle(ctx context.Context, req *transport.Request, w transport.ResponseWriter, h transport.UnaryHandler) error
Handle implements middleware.UnaryInbound.
func (*Middleware) HandleOneway ¶
func (m *Middleware) HandleOneway(ctx context.Context, req *transport.Request, h transport.OnewayHandler) error
HandleOneway implements middleware.OnewayInbound.
func (*Middleware) HandleStream ¶
func (m *Middleware) HandleStream(serverStream *transport.ServerStream, h transport.StreamHandler) error
HandleStream implements middleware.StreamInbound.