123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296 |
- package stats
- import (
- "net"
- "time"
- "golang.org/x/net/context"
- )
- type RPCStats interface {
- isRPCStats()
-
- IsClient() bool
- }
- type Begin struct {
-
- Client bool
-
- BeginTime time.Time
-
- FailFast bool
- }
- func (s *Begin) IsClient() bool { return s.Client }
- func (s *Begin) isRPCStats() {}
- type InPayload struct {
-
- Client bool
-
- Payload interface{}
-
- Data []byte
-
- Length int
-
- WireLength int
-
- RecvTime time.Time
- }
- func (s *InPayload) IsClient() bool { return s.Client }
- func (s *InPayload) isRPCStats() {}
- type InHeader struct {
-
- Client bool
-
- WireLength int
-
-
- FullMethod string
-
- RemoteAddr net.Addr
-
- LocalAddr net.Addr
-
- Compression string
- }
- func (s *InHeader) IsClient() bool { return s.Client }
- func (s *InHeader) isRPCStats() {}
- type InTrailer struct {
-
- Client bool
-
- WireLength int
- }
- func (s *InTrailer) IsClient() bool { return s.Client }
- func (s *InTrailer) isRPCStats() {}
- type OutPayload struct {
-
- Client bool
-
- Payload interface{}
-
- Data []byte
-
- Length int
-
- WireLength int
-
- SentTime time.Time
- }
- func (s *OutPayload) IsClient() bool { return s.Client }
- func (s *OutPayload) isRPCStats() {}
- type OutHeader struct {
-
- Client bool
-
-
- FullMethod string
-
- RemoteAddr net.Addr
-
- LocalAddr net.Addr
-
- Compression string
- }
- func (s *OutHeader) IsClient() bool { return s.Client }
- func (s *OutHeader) isRPCStats() {}
- type OutTrailer struct {
-
- Client bool
-
- WireLength int
- }
- func (s *OutTrailer) IsClient() bool { return s.Client }
- func (s *OutTrailer) isRPCStats() {}
- type End struct {
-
- Client bool
-
- BeginTime time.Time
-
- EndTime time.Time
-
-
-
- Error error
- }
- func (s *End) IsClient() bool { return s.Client }
- func (s *End) isRPCStats() {}
- type ConnStats interface {
- isConnStats()
-
- IsClient() bool
- }
- type ConnBegin struct {
-
- Client bool
- }
- func (s *ConnBegin) IsClient() bool { return s.Client }
- func (s *ConnBegin) isConnStats() {}
- type ConnEnd struct {
-
- Client bool
- }
- func (s *ConnEnd) IsClient() bool { return s.Client }
- func (s *ConnEnd) isConnStats() {}
- type incomingTagsKey struct{}
- type outgoingTagsKey struct{}
- func SetTags(ctx context.Context, b []byte) context.Context {
- return context.WithValue(ctx, outgoingTagsKey{}, b)
- }
- func Tags(ctx context.Context) []byte {
- b, _ := ctx.Value(incomingTagsKey{}).([]byte)
- return b
- }
- func SetIncomingTags(ctx context.Context, b []byte) context.Context {
- return context.WithValue(ctx, incomingTagsKey{}, b)
- }
- func OutgoingTags(ctx context.Context) []byte {
- b, _ := ctx.Value(outgoingTagsKey{}).([]byte)
- return b
- }
- type incomingTraceKey struct{}
- type outgoingTraceKey struct{}
- func SetTrace(ctx context.Context, b []byte) context.Context {
- return context.WithValue(ctx, outgoingTraceKey{}, b)
- }
- func Trace(ctx context.Context) []byte {
- b, _ := ctx.Value(incomingTraceKey{}).([]byte)
- return b
- }
- func SetIncomingTrace(ctx context.Context, b []byte) context.Context {
- return context.WithValue(ctx, incomingTraceKey{}, b)
- }
- func OutgoingTrace(ctx context.Context) []byte {
- b, _ := ctx.Value(outgoingTraceKey{}).([]byte)
- return b
- }
|