Documentation
¶
Index ¶
- Variables
- type HistogramDataKey
- type HistogramDataUnit
- type Listener
- func (l *Listener) FlushMetrics(traffics []*base.ProcessTraffic, builder *base.MetricsBuilder)
- func (l *Listener) GenerateMetrics() base.ConnectionMetrics
- func (l *Listener) Init(config *profiling.TaskConfig, moduleManager *module.Manager) error
- func (l *Listener) Name() string
- func (l *Listener) PostFlushConnectionMetrics(ccs []*base.ConnectionContext)
- func (l *Listener) PreFlushConnectionMetrics(ccs []*base.ConnectionWithBPF, bpfLoader *bpf.Loader) error
- func (l *Listener) ReceiveCloseConnection(ctx *base.ConnectionContext, event *events.SocketCloseEvent)
- func (l *Listener) ReceiveNewConnection(ctx *base.ConnectionContext, event *events.SocketConnectEvent)
- func (l *Listener) RegisterBPFEvents(ctx context.Context, bpfLoader *bpf.Loader)
- func (l *Listener) UpdateExtensionConfig(config *profiling.ExtensionConfig)
- type Metrics
- type SocketBasicKey
- type SocketDataCounter
- type SocketDataCounterWithHistory
- func (c *SocketDataCounterWithHistory) CalculateIncrease() *SocketDataCounter
- func (c *SocketDataCounterWithHistory) IncreaseToCurrent(other *SocketDataCounter)
- func (c *SocketDataCounterWithHistory) RefreshCurrent()
- func (c *SocketDataCounterWithHistory) UpdateToCurrent(bytes, count, exeTime uint64)
- type SocketDataHistogram
- func (h *SocketDataHistogram) Increase(other *SocketDataHistogram)
- func (h *SocketDataHistogram) IncreaseByValue(val uint64)
- func (h *SocketDataHistogram) NotEmpty() bool
- func (h *SocketDataHistogram) Overwrite(other *SocketDataHistogram)
- func (h *SocketDataHistogram) Update(bucket uint64, value uint32)
- type SocketDataHistogramWithHistory
- func (h *SocketDataHistogramWithHistory) CalculateIncrease() *SocketDataHistogram
- func (h *SocketDataHistogramWithHistory) IncreaseToCurrent(other *SocketDataHistogram)
- func (h *SocketDataHistogramWithHistory) RefreshCurrent()
- func (h *SocketDataHistogramWithHistory) UpdateToCurrent(bucket uint64, val uint32)
- type SocketExceptionOperationEvent
- type SocketExceptionValue
Constants ¶
This section is empty.
Variables ¶
View Source
var Name = "layer4"
View Source
var SocketHistogramBucketsCount = len(SocketHistogramBucketsNs)
View Source
var SocketHistogramBucketsNs = []float64{0, 10000, 50000, 100000, 500000, 1000000, 1200000, 1500000, 1700000, 2000000,
2500000, 3000000, 5000000, 7000000, 10000000, 13000000, 16000000, 20000000, 25000000, 30000000, 35000000, 40000000,
45000000, 50000000, 70000000, 100000000, 150000000, 200000000, 300000000, 500000000, 1000000000, 2000000000,
3000000000, 5000000000}
SocketHistogramBucketsNs means the histogram bucket: 0ms, 0.01ms, 0.05ms, 0.1ms, 0.5ms, 1ms, 1.2ms, 1.5ms, 1.7ms, 2ms, 2.5ms, 3ms, 5ms, 7ms, 10ms, 13ms, 16ms, 20ms, 25ms, 30ms, 35ms, 40ms, 45ms, 50ms, 70ms, 100ms, 150ms, 200ms, 300ms, 500ms, 1s, 2s, 3s, 5s value unit: ns
View Source
var SocketHistogramBucketsUs = []float64{0, 10, 50, 100, 500, 1000, 1200, 1500, 1700, 2000,
2500, 3000, 5000, 7000, 10000, 13000, 16000, 20000, 25000, 30000, 35000, 40000,
45000, 50000, 70000, 100000, 150000, 200000, 300000, 500000, 1000000, 2000000,
3000000, 5000000}
SocketHistogramBucketsUs same with SocketHistogramBucketsNs, but the value unit: us
Functions ¶
This section is empty.
Types ¶
type HistogramDataKey ¶
type HistogramDataKey struct {
ConnectionID uint64
RandomID uint64
Bucket uint64
DataDirection enums.SocketDataDirection
DataType enums.SocketDataStaticsType
Fix [6]byte
}
type HistogramDataUnit ¶
type HistogramDataUnit int
const ( HistogramDataUnitNS HistogramDataUnit = 1 HistogramDataUnitUS HistogramDataUnit = 2 )
type Listener ¶
type Listener struct {
// contains filtered or unexported fields
}
func NewListener ¶
func NewListener() *Listener
func (*Listener) FlushMetrics ¶
func (l *Listener) FlushMetrics(traffics []*base.ProcessTraffic, builder *base.MetricsBuilder)
func (*Listener) GenerateMetrics ¶
func (l *Listener) GenerateMetrics() base.ConnectionMetrics
func (*Listener) PostFlushConnectionMetrics ¶
func (l *Listener) PostFlushConnectionMetrics(ccs []*base.ConnectionContext)
func (*Listener) PreFlushConnectionMetrics ¶
func (*Listener) ReceiveCloseConnection ¶
func (l *Listener) ReceiveCloseConnection(ctx *base.ConnectionContext, event *events.SocketCloseEvent)
func (*Listener) ReceiveNewConnection ¶
func (l *Listener) ReceiveNewConnection(ctx *base.ConnectionContext, event *events.SocketConnectEvent)
func (*Listener) RegisterBPFEvents ¶
func (*Listener) UpdateExtensionConfig ¶
func (l *Listener) UpdateExtensionConfig(config *profiling.ExtensionConfig)
type Metrics ¶
type Metrics struct {
// basic statics
// read/write
WriteCounter *SocketDataCounterWithHistory
ReadCounter *SocketDataCounterWithHistory
// write RTT
WriteRTTCounter *SocketDataCounterWithHistory
// histograms
// write execute time and RTT
WriteRTTHistogram *SocketDataHistogramWithHistory
WriteExeTimeHistogram *SocketDataHistogramWithHistory
// read execute time
ReadExeTimeHistogram *SocketDataHistogramWithHistory
// the connection connect or close execute time
ConnectExecuteTime uint64
CloseExecuteTime uint64
ConnectCounter *SocketDataCounterWithHistory
CloseCounter *SocketDataCounterWithHistory
ConnectExeTimeHistogram *SocketDataHistogramWithHistory
CloseExeTimeHistogram *SocketDataHistogramWithHistory
// exception counters
RetransmitCounter *SocketDataCounterWithHistory
DropCounter *SocketDataCounterWithHistory
}
func NewLayer4Metrics ¶
func NewLayer4Metrics() *Metrics
func (*Metrics) MergeMetricsFromConnection ¶
func (l *Metrics) MergeMetricsFromConnection(connection *base.ConnectionContext, data base.ConnectionMetrics)
type SocketBasicKey ¶
type SocketDataCounter ¶
func NewSocketDataCounter ¶
func NewSocketDataCounter() *SocketDataCounter
func NewSocketDataCounterWithValue ¶
func NewSocketDataCounterWithValue(bytes, count, exeTime uint64) *SocketDataCounter
func (*SocketDataCounter) Increase ¶
func (s *SocketDataCounter) Increase(d *SocketDataCounter)
func (*SocketDataCounter) IncreaseByValue ¶
func (s *SocketDataCounter) IncreaseByValue(bytes, count, exeTime uint64)
func (*SocketDataCounter) NotEmpty ¶
func (s *SocketDataCounter) NotEmpty() bool
type SocketDataCounterWithHistory ¶
type SocketDataCounterWithHistory struct {
Pre *SocketDataCounter
Cur *SocketDataCounter
}
SocketDataCounterWithHistory means the socket send/receive data metrics
func NewSocketDataCounterWithHistory ¶
func NewSocketDataCounterWithHistory() *SocketDataCounterWithHistory
func (*SocketDataCounterWithHistory) CalculateIncrease ¶
func (c *SocketDataCounterWithHistory) CalculateIncrease() *SocketDataCounter
func (*SocketDataCounterWithHistory) IncreaseToCurrent ¶
func (c *SocketDataCounterWithHistory) IncreaseToCurrent(other *SocketDataCounter)
func (*SocketDataCounterWithHistory) RefreshCurrent ¶
func (c *SocketDataCounterWithHistory) RefreshCurrent()
func (*SocketDataCounterWithHistory) UpdateToCurrent ¶
func (c *SocketDataCounterWithHistory) UpdateToCurrent(bytes, count, exeTime uint64)
type SocketDataHistogram ¶
type SocketDataHistogram struct {
Unit HistogramDataUnit
Buckets map[uint64]uint32
}
func NewSocketDataHistogram ¶
func NewSocketDataHistogram(unit HistogramDataUnit) *SocketDataHistogram
func (*SocketDataHistogram) Increase ¶
func (h *SocketDataHistogram) Increase(other *SocketDataHistogram)
func (*SocketDataHistogram) IncreaseByValue ¶
func (h *SocketDataHistogram) IncreaseByValue(val uint64)
func (*SocketDataHistogram) NotEmpty ¶
func (h *SocketDataHistogram) NotEmpty() bool
func (*SocketDataHistogram) Overwrite ¶
func (h *SocketDataHistogram) Overwrite(other *SocketDataHistogram)
func (*SocketDataHistogram) Update ¶
func (h *SocketDataHistogram) Update(bucket uint64, value uint32)
type SocketDataHistogramWithHistory ¶
type SocketDataHistogramWithHistory struct {
Pre *SocketDataHistogram
Cur *SocketDataHistogram
}
func NewSocketDataHistogramWithHistory ¶
func NewSocketDataHistogramWithHistory(unit HistogramDataUnit) *SocketDataHistogramWithHistory
func (*SocketDataHistogramWithHistory) CalculateIncrease ¶
func (h *SocketDataHistogramWithHistory) CalculateIncrease() *SocketDataHistogram
func (*SocketDataHistogramWithHistory) IncreaseToCurrent ¶
func (h *SocketDataHistogramWithHistory) IncreaseToCurrent(other *SocketDataHistogram)
func (*SocketDataHistogramWithHistory) RefreshCurrent ¶
func (h *SocketDataHistogramWithHistory) RefreshCurrent()
func (*SocketDataHistogramWithHistory) UpdateToCurrent ¶
func (h *SocketDataHistogramWithHistory) UpdateToCurrent(bucket uint64, val uint32)
type SocketExceptionOperationEvent ¶
type SocketExceptionOperationEvent struct {
Pid uint32
SocketFamily uint32
RemoteAddrV4 uint32
RemoteAddrV6 [16]uint8
RemoteAddrPort uint32
LocalAddrV4 uint32
LocalAddrV6 [16]uint8
LocalAddrPort uint32
Type enums.SocketExceptionOperationType
}
SocketExceptionOperationEvent Socket have been retransmitted/drop the package event
type SocketExceptionValue ¶
Click to show internal directories.
Click to hide internal directories.