recording

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Sep 12, 2021 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidID = errors.New("xid: invalid ID")

ErrInvalidID is returned when trying to unmarshal an invalid ID

View Source
var Recorders = []Recorder{}

Recorders Recorders

View Source
var ShouldRecordAction = func(action Action) bool {
	return true
}

ShouldRecordAction ShouldRecordAction

Functions

func EncodeAnyByteArray

func EncodeAnyByteArray(s []byte) json.RawMessage

func UnzipHttpRepsonse

func UnzipHttpRepsonse(data []byte) []byte

UnzipHttpRepsonse 解析http gzip返回

Types

type Action

type Action interface {
	GetActionIndex() int
	GetOccurredAt() int64
	GetActionType() string
}

Action Action

type AppendFile

type AppendFile struct {
	FileName string
	Content  []byte
	// contains filtered or unexported fields
}

AppendFile AppendFile

func (*AppendFile) GetActionIndex

func (action *AppendFile) GetActionIndex() int

func (*AppendFile) GetActionType

func (action *AppendFile) GetActionType() string

func (*AppendFile) GetOccurredAt

func (action *AppendFile) GetOccurredAt() int64

func (*AppendFile) MarshalJSON

func (appendFile *AppendFile) MarshalJSON() ([]byte, error)

MarshalJSON MarshalJSON

type AsyncRecorder

type AsyncRecorder struct {
	Context context.Context
	// contains filtered or unexported fields
}

AsyncRecorder AsyncRecorder

func NewAsyncRecorder

func NewAsyncRecorder(realRecorder Recorder) *AsyncRecorder

NewAsyncRecorder NewAsyncRecorder

func (*AsyncRecorder) Record

func (recorder *AsyncRecorder) Record(session *Session)

Record Record

func (*AsyncRecorder) Start

func (recorder *AsyncRecorder) Start()

Start Start

type CallFromInbound

type CallFromInbound struct {
	Peer     net.TCPAddr
	Request  []byte
	UnixAddr net.UnixAddr
	// contains filtered or unexported fields
}

CallFromInbound Inbound请求

func (*CallFromInbound) GetActionIndex

func (action *CallFromInbound) GetActionIndex() int

func (*CallFromInbound) GetActionType

func (action *CallFromInbound) GetActionType() string

func (*CallFromInbound) GetOccurredAt

func (action *CallFromInbound) GetOccurredAt() int64

func (*CallFromInbound) MarshalJSON

func (callFromInbound *CallFromInbound) MarshalJSON() ([]byte, error)

MarshalJSON MarshalJSON

type CallOutbound

type CallOutbound struct {
	SocketFD     int
	Peer         net.TCPAddr
	Local        *net.TCPAddr `json:"-"`
	Request      []byte
	ResponseTime int64
	Response     []byte
	UnixAddr     net.UnixAddr
	CSpanId      []byte
	// contains filtered or unexported fields
}

CallOutbound Outbound请求和返回

func (*CallOutbound) GetActionIndex

func (action *CallOutbound) GetActionIndex() int

func (*CallOutbound) GetActionType

func (action *CallOutbound) GetActionType() string

func (*CallOutbound) GetOccurredAt

func (action *CallOutbound) GetOccurredAt() int64

func (*CallOutbound) MarshalJSON

func (callOutbound *CallOutbound) MarshalJSON() ([]byte, error)

MarshalJSON MarshalJSON

type ID

type ID [rawLen]byte

ID represents a unique request id

func FromString

func FromString(id string) (ID, error)

FromString reads an ID from its string representation

func (ID) Counter

func (id ID) Counter() int32

Counter returns the incrementing value part of the id. It's a runtime error to call this method with an invalid id.

func (ID) Machine

func (id ID) Machine() []byte

Machine returns the 3-byte machine id part of the id. It's a runtime error to call this method with an invalid id.

func (ID) MarshalText

func (id ID) MarshalText() ([]byte, error)

MarshalText implements encoding/text TextMarshaler interface

func (ID) Pid

func (id ID) Pid() uint16

Pid returns the process id part of the id. It's a runtime error to call this method with an invalid id.

func (*ID) Scan

func (id *ID) Scan(value interface{}) (err error)

Scan implements the sql.Scanner interface.

func (ID) String

func (id ID) String() string

String returns a base32 hex lowercased with no padding representation of the id (char set is 0-9, a-v).

func (ID) Time

func (id ID) Time() time.Time

Time returns the timestamp part of the id. It's a runtime error to call this method with an invalid id.

func (*ID) UnmarshalText

func (id *ID) UnmarshalText(text []byte) error

UnmarshalText implements encoding/text TextUnmarshaler interface

func (ID) Value

func (id ID) Value() (driver.Value, error)

Value implements the driver.Valuer interface.

type ReadStorage

type ReadStorage struct {
	Content []byte
	// contains filtered or unexported fields
}

ReadStorage ReadStorage

func (*ReadStorage) GetActionIndex

func (action *ReadStorage) GetActionIndex() int

func (*ReadStorage) GetActionType

func (action *ReadStorage) GetActionType() string

func (*ReadStorage) GetOccurredAt

func (action *ReadStorage) GetOccurredAt() int64

func (*ReadStorage) MarshalJSON

func (readStorage *ReadStorage) MarshalJSON() ([]byte, error)

MarshalJSON MarshalJSON

type Recorder

type Recorder interface {
	Record(session *Session)
}

Recorder Recorder

type ReturnInbound

type ReturnInbound struct {
	Response []byte
	// contains filtered or unexported fields
}

ReturnInbound Inbound返回

func (*ReturnInbound) GetActionIndex

func (action *ReturnInbound) GetActionIndex() int

func (*ReturnInbound) GetActionType

func (action *ReturnInbound) GetActionType() string

func (*ReturnInbound) GetOccurredAt

func (action *ReturnInbound) GetOccurredAt() int64

func (*ReturnInbound) MarshalJSON

func (returnInbound *ReturnInbound) MarshalJSON() ([]byte, error)

MarshalJSON MarshalJSON

type SendUDP

type SendUDP struct {
	Peer    net.UDPAddr
	Content []byte
	// contains filtered or unexported fields
}

SendUDP SendUDP

func (*SendUDP) GetActionIndex

func (action *SendUDP) GetActionIndex() int

func (*SendUDP) GetActionType

func (action *SendUDP) GetActionType() string

func (*SendUDP) GetOccurredAt

func (action *SendUDP) GetOccurredAt() int64

func (*SendUDP) MarshalJSON

func (sendUDP *SendUDP) MarshalJSON() ([]byte, error)

MarshalJSON MarshalJSON

type Session

type Session struct {
	Context         string
	SessionId       string
	ThreadId        int32
	TraceHeader     TraceHeader
	TraceId         []byte
	SpanId          []byte
	NextSessionId   string
	CallFromInbound *CallFromInbound
	ReturnInbound   *ReturnInbound
	Actions         []Action
	// contains filtered or unexported fields
}

Session Session

func NewSession

func NewSession(threadID int32) *Session

NewSession NewSession

func (*Session) AppendFile

func (session *Session) AppendFile(ctx context.Context, content []byte, fileName string)

AppendFile AppendFile

func (*Session) HasRequest

func (session *Session) HasRequest() bool

HasRequest 是否有请求

func (*Session) HasResponded

func (session *Session) HasResponded() bool

HasResponded 是否有返回

func (*Session) MarshalJSON

func (session *Session) MarshalJSON() ([]byte, error)

MarshalJSON MarshalJSON

func (*Session) ReadStorage

func (session *Session) ReadStorage(ctx context.Context, span []byte)

ReadStorage ReadStorage

func (*Session) RecvFromInbound

func (session *Session) RecvFromInbound(ctx context.Context, span []byte, peer net.TCPAddr, unix net.UnixAddr)

RecvFromInbound Inbound请求

func (*Session) RecvFromOutbound

func (session *Session) RecvFromOutbound(ctx context.Context, span []byte, peer net.TCPAddr, local *net.TCPAddr, socketFD int)

RecvFromOutbound Outbound返回

func (*Session) SendToInbound

func (session *Session) SendToInbound(ctx context.Context, span []byte, peer net.TCPAddr)

SendToInbound Inbound回复

func (*Session) SendToOutbound

func (session *Session) SendToOutbound(ctx context.Context, span []byte, peer net.TCPAddr, local *net.TCPAddr, socketFD int)

SendToOutbound OutboundTCP请求

func (*Session) SendUDPToOutbound

func (session *Session) SendUDPToOutbound(ctx context.Context, span []byte, peer net.UDPAddr)

SendUDPToOutbound Outbound的UDP请求

func (*Session) Shutdown

func (session *Session) Shutdown(ctx context.Context, newSession *Session)

Shutdown 关闭session并进行录制

func (*Session) Summary

func (session *Session) Summary(newSession *Session)

Summary 统计

type TraceHeader

type TraceHeader []byte

Jump to

Keyboard shortcuts

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