layer7

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Jun 14, 2023 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ConnectionCachedTTL      = time.Minute
	ConnectionCacheFlushTime = time.Second * 20
)

Variables

View Source
var ListenerName = "layer7"

Functions

This section is empty.

Types

type EventQueue

type EventQueue struct {
	// contains filtered or unexported fields
}

func NewEventQueue

func NewEventQueue(partitionCount, sizePerPartition int, contextGenerator func() PartitionContext) *EventQueue

func (*EventQueue) Push

func (e *EventQueue) Push(key string, data interface{})

func (*EventQueue) RegisterReceiver added in v0.5.0

func (e *EventQueue) RegisterReceiver(emap *ebpf.Map, perCPUBufferSize int, dataSupplier func() interface{},
	routeGenerator func(data interface{}) string)

func (*EventQueue) Start

func (e *EventQueue) Start(ctx context.Context, bpfLoader *bpf.Loader)

type Listener

type Listener struct {
	// contains filtered or unexported fields
}

func NewListener

func NewListener(analyzer *base.AnalyzerContext) *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) Init

func (l *Listener) Init(config *profiling.TaskConfig, moduleManager *module.Manager) error

func (*Listener) Name

func (l *Listener) Name() string

func (*Listener) PostFlushConnectionMetrics

func (l *Listener) PostFlushConnectionMetrics(ccs []*base.ConnectionContext)

func (*Listener) PreFlushConnectionMetrics

func (l *Listener) PreFlushConnectionMetrics(ccs []*base.ConnectionWithBPF, bpfLoader *bpf.Loader) error

func (*Listener) QueryConnection

func (l *Listener) QueryConnection(conID, randomID uint64) *base.ConnectionContext

func (*Listener) QueryProtocolMetrics

func (l *Listener) QueryProtocolMetrics(conMetrics *base.ConnectionMetricsContext, p base.ConnectionProtocol) protocol.Metrics

func (*Listener) ReceiveCloseConnection

func (l *Listener) ReceiveCloseConnection(ctx *base.ConnectionContext, event *base.SocketCloseEvent)

func (*Listener) ReceiveNewConnection

func (l *Listener) ReceiveNewConnection(ctx *base.ConnectionContext, event *base.SocketConnectEvent)

func (*Listener) RegisterBPFEvents

func (l *Listener) RegisterBPFEvents(ctx context.Context, bpfLoader *bpf.Loader)

func (*Listener) UpdateExtensionConfig

func (l *Listener) UpdateExtensionConfig(config *profiling.ExtensionConfig)

type PartitionContext

type PartitionContext interface {
	Start(ctx context.Context)
	Consume(data interface{})
}

type SocketDataPartitionContext

type SocketDataPartitionContext struct {
	// contains filtered or unexported fields
}

func NewSocketDataPartitionContext

func NewSocketDataPartitionContext(l base.Context, config *profiling.TaskConfig) *SocketDataPartitionContext

func (*SocketDataPartitionContext) Consume

func (p *SocketDataPartitionContext) Consume(data interface{})

func (*SocketDataPartitionContext) Start added in v0.5.0

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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