Package stats
Overview ▹
Index ▹
type Begin ¶
Begin contains stats when an RPC begins. FailFast is only valid if this Begin is from client side.
type Begin struct { // Client is true if this Begin is from client side. Client bool // BeginTime is the time when the RPC begins. BeginTime time.Time // FailFast indicates if this RPC is failfast. FailFast bool }
func (*Begin) IsClient ¶
func (s *Begin) IsClient() bool
IsClient indicates if the stats information is from client side.
type ConnBegin ¶
ConnBegin contains the stats of a connection when it is established.
type ConnBegin struct {
// Client is true if this ConnBegin is from client side.
Client bool
}
func (*ConnBegin) IsClient ¶
func (s *ConnBegin) IsClient() bool
IsClient indicates if this is from client side.
type ConnEnd ¶
ConnEnd contains the stats of a connection when it ends.
type ConnEnd struct {
// Client is true if this ConnEnd is from client side.
Client bool
}
func (*ConnEnd) IsClient ¶
func (s *ConnEnd) IsClient() bool
IsClient indicates if this is from client side.
type ConnStats ¶
ConnStats contains stats information about connections.
type ConnStats interface { // IsClient returns true if this ConnStats is from client side. IsClient() bool // contains filtered or unexported methods }
type ConnTagInfo ¶
ConnTagInfo defines the relevant information needed by connection context tagger.
type ConnTagInfo struct { // RemoteAddr is the remote address of the corresponding connection. RemoteAddr net.Addr // LocalAddr is the local address of the corresponding connection. LocalAddr net.Addr }
type End ¶
End contains stats when an RPC ends.
type End struct { // Client is true if this End is from client side. Client bool // EndTime is the time when the RPC ends. EndTime time.Time // Error is the error just happened. It implements status.Status if non-nil. Error error }
func (*End) IsClient ¶
func (s *End) IsClient() bool
IsClient indicates if this is from client side.
type Handler ¶
Handler defines the interface for the related stats handling (e.g., RPCs, connections).
type Handler interface { // TagRPC can attach some information to the given context. // The context used for the rest lifetime of the RPC will be derived from // the returned context. TagRPC(context.Context, *RPCTagInfo) context.Context // HandleRPC processes the RPC stats. HandleRPC(context.Context, RPCStats) // TagConn can attach some information to the given context. // The returned context will be used for stats handling. // For conn stats handling, the context used in HandleConn for this // connection will be derived from the context returned. // For RPC stats handling, // - On server side, the context used in HandleRPC for all RPCs on this // connection will be derived from the context returned. // - On client side, the context is not derived from the context returned. TagConn(context.Context, *ConnTagInfo) context.Context // HandleConn processes the Conn stats. HandleConn(context.Context, ConnStats) }
type InHeader ¶
InHeader contains stats when a header is received.
type InHeader struct { // Client is true if this InHeader is from client side. Client bool // WireLength is the wire length of header. WireLength int // The following fields are valid only if Client is false. // FullMethod is the full RPC method string, i.e., /package.service/method. FullMethod string // RemoteAddr is the remote address of the corresponding connection. RemoteAddr net.Addr // LocalAddr is the local address of the corresponding connection. LocalAddr net.Addr // Compression is the compression algorithm used for the RPC. Compression string }
func (*InHeader) IsClient ¶
func (s *InHeader) IsClient() bool
IsClient indicates if the stats information is from client side.
type InPayload ¶
InPayload contains the information for an incoming payload.
type InPayload struct { // Client is true if this InPayload is from client side. Client bool // Payload is the payload with original type. Payload interface{} // Data is the serialized message payload. Data []byte // Length is the length of uncompressed data. Length int // WireLength is the length of data on wire (compressed, signed, encrypted). WireLength int // RecvTime is the time when the payload is received. RecvTime time.Time }
func (*InPayload) IsClient ¶
func (s *InPayload) IsClient() bool
IsClient indicates if the stats information is from client side.
type InTrailer ¶
InTrailer contains stats when a trailer is received.
type InTrailer struct { // Client is true if this InTrailer is from client side. Client bool // WireLength is the wire length of trailer. WireLength int }
func (*InTrailer) IsClient ¶
func (s *InTrailer) IsClient() bool
IsClient indicates if the stats information is from client side.
type OutHeader ¶
OutHeader contains stats when a header is sent.
type OutHeader struct { // Client is true if this OutHeader is from client side. Client bool // WireLength is the wire length of header. WireLength int // The following fields are valid only if Client is true. // FullMethod is the full RPC method string, i.e., /package.service/method. FullMethod string // RemoteAddr is the remote address of the corresponding connection. RemoteAddr net.Addr // LocalAddr is the local address of the corresponding connection. LocalAddr net.Addr // Compression is the compression algorithm used for the RPC. Compression string }
func (*OutHeader) IsClient ¶
func (s *OutHeader) IsClient() bool
IsClient indicates if this stats information is from client side.
type OutPayload ¶
OutPayload contains the information for an outgoing payload.
type OutPayload struct { // Client is true if this OutPayload is from client side. Client bool // Payload is the payload with original type. Payload interface{} // Data is the serialized message payload. Data []byte // Length is the length of uncompressed data. Length int // WireLength is the length of data on wire (compressed, signed, encrypted). WireLength int // SentTime is the time when the payload is sent. SentTime time.Time }
func (*OutPayload) IsClient ¶
func (s *OutPayload) IsClient() bool
IsClient indicates if this stats information is from client side.
type OutTrailer ¶
OutTrailer contains stats when a trailer is sent.
type OutTrailer struct { // Client is true if this OutTrailer is from client side. Client bool // WireLength is the wire length of trailer. WireLength int }
func (*OutTrailer) IsClient ¶
func (s *OutTrailer) IsClient() bool
IsClient indicates if this stats information is from client side.
type RPCStats ¶
RPCStats contains stats information about RPCs.
type RPCStats interface { // IsClient returns true if this RPCStats is from client side. IsClient() bool // contains filtered or unexported methods }
type RPCTagInfo ¶
RPCTagInfo defines the relevant information needed by RPC context tagger.
type RPCTagInfo struct { // FullMethodName is the RPC method in the format of /package.service/method. FullMethodName string // FailFast indicates if this RPC is failfast. // This field is only valid on client side, it's always false on server side. FailFast bool }
Subdirectories
Name | Synopsis |
---|---|
.. | |
grpc_testing | Package grpc_testing is a generated protocol buffer package. |