Documentation ¶
Overview ¶
Package stats is for collecting and reporting various network and RPC stats. This package is for monitoring purpose only. All fields are read-only. All APIs are experimental.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterHandler ¶
RegisterHandler registers the user handler function. If another handler was registered before, this new handler will overwrite the old one. This handler function will be called to process the stats.
Types ¶
type Begin ¶
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 }
Begin contains stats when an RPC begins. FailFast are only valid if Client is true.
type End ¶
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. Its type is gRPC error. Error error }
End contains stats when an RPC ends.
type InHeader ¶
type InHeader struct { // Client is true if this InHeader is from client side. Client bool // WireLength is the wire length of header. WireLength int // 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 }
InHeader contains stats when a header is received. FullMethod, addresses and Compression are only valid if Client is false.
type InPayload ¶
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 }
InPayload contains the information for an incoming payload.
type InTrailer ¶
type InTrailer struct { // Client is true if this InTrailer is from client side. Client bool // WireLength is the wire length of trailer. WireLength int }
InTrailer contains stats when a trailer is received.
type OutHeader ¶
type OutHeader struct { // Client is true if this OutHeader is from client side. Client bool // WireLength is the wire length of header. WireLength int // 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 }
OutHeader contains stats when a header is sent. FullMethod, addresses and Compression are only valid if Client is true.
type OutPayload ¶
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 }
OutPayload contains the information for an outgoing payload.
func (*OutPayload) IsClient ¶
func (s *OutPayload) IsClient() bool
IsClient indicates if this is from client side.
type OutTrailer ¶
type OutTrailer struct { // Client is true if this OutTrailer is from client side. Client bool // WireLength is the wire length of trailer. WireLength int }
OutTrailer contains stats when a trailer is sent.
func (*OutTrailer) IsClient ¶
func (s *OutTrailer) IsClient() bool
IsClient indicates if this is from client side.