aggregator

package
v0.3.3 Latest Latest
Warning

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

Go to latest
Published: Dec 21, 2023 License: AGPL-3.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ADD    = "ADD"
	UPDATE = "UPDATE"
	DELETE = "DELETE"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Aggregator

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

func NewAggregator

func NewAggregator(parentCtx context.Context, k8sChan <-chan interface{}, ec *ebpf.EbpfCollector, ds datastore.DataStore) *Aggregator

func (*Aggregator) Run

func (a *Aggregator) Run()

type ClusterInfo

type ClusterInfo struct {
	PodIPToPodUid         map[string]types.UID `json:"podIPToPodUid"`
	ServiceIPToServiceUid map[string]types.UID `json:"serviceIPToServiceUid"`

	// Pid -> SocketMap
	// pid -> fd -> {saddr, sport, daddr, dport}
	PidToSocketMap map[uint32]*SocketMap `json:"pidToSocketMap"`
	// contains filtered or unexported fields
}

type Fd

type Fd struct {
	Fd   uint64
	Dest string

	SocketInode string
}

type FrameArrival added in v0.3.0

type FrameArrival struct {
	ClientHeadersFrameArrived bool
	ServerHeadersFrameArrived bool
	ServerDataFrameArrived    bool
	// contains filtered or unexported fields
}

type SockInfo

type SockInfo struct {
	Pid   uint32 `json:"pid"`
	Fd    uint64 `json:"fd"`
	Saddr string `json:"saddr"`
	Sport uint16 `json:"sport"`
	Daddr string `json:"daddr"`
	Dport uint16 `json:"dport"`
}

type SocketLine

type SocketLine struct {
	Values []TimestampedSocket
	// contains filtered or unexported fields
}

func NewSocketLine

func NewSocketLine(pid uint32, fd uint64) *SocketLine

func (*SocketLine) AddValue

func (nl *SocketLine) AddValue(timestamp uint64, sockInfo *SockInfo)

func (*SocketLine) DeleteUnused

func (nl *SocketLine) DeleteUnused()

func (*SocketLine) GetAlreadyExistingSockets

func (nl *SocketLine) GetAlreadyExistingSockets()

func (*SocketLine) GetValue

func (nl *SocketLine) GetValue(timestamp uint64) (*SockInfo, error)

type SocketMap

type SocketMap struct {
	M map[uint64]*SocketLine `json:"fdToSockLine"` // fd -> SockLine
	// contains filtered or unexported fields
}

type SocketMap

type TcpSocket

type TcpSocket struct {
	Inode  string
	SAddr  netaddr.IPPort
	DAddr  netaddr.IPPort
	Listen bool
}

type TimestampedSocket

type TimestampedSocket struct {
	Timestamp uint64    // unix timestamp in milliseconds
	LastMatch uint64    // last time this socket was matched on user space (request_time + process_latency)
	SockInfo  *SockInfo // write as nil on socket close
}

Jump to

Keyboard shortcuts

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