Documentation ¶
Index ¶
Constants ¶
View Source
const MacLen = 6
Variables ¶
This section is empty.
Functions ¶
Types ¶
type FlowFetcher ¶
type FlowFetcher struct { }
func NewFlowFetcher ¶
func NewFlowFetcher(_, _ int, _, _ bool) (*FlowFetcher, error)
func (*FlowFetcher) Close ¶
func (m *FlowFetcher) Close() error
func (*FlowFetcher) LookupAndDeleteMap ¶
func (m *FlowFetcher) LookupAndDeleteMap() map[NetFlowId][]NetFlowMetrics
func (*FlowFetcher) ReadRingBuf ¶
func (m *FlowFetcher) ReadRingBuf() (ringbuf.Record, error)
type IPAddr ¶
IPAddr encodes v4 and v6 IPs with a fixed length. IPv4 addresses are encoded as IPv6 addresses with prefix ::ffff/96 as described in https://datatracker.ietf.org/doc/html/rfc4038#section-4.2 (same behavior as Go's net.IP type)
func (*IPAddr) IntEncodeV4 ¶
IntEncodeV4 encodes an IPv4 address as an integer (in network encoding, big endian). It assumes that the passed IP is already IPv4. Otherwise it would just encode the last 4 bytes of an IPv6 address
func (*IPAddr) MarshalJSON ¶
type MacAddr ¶
func (*MacAddr) MarshalJSON ¶
type Record ¶
type Record struct { NetFlowRecordT // TODO: redundant field from RecordMetrics. Reorganize structs TimeFlowStart time.Time TimeFlowEnd time.Time Interface string // Duplicate tells whether this flow has another duplicate so it has to be excluded from // any metrics' aggregation (e.g. bytes/second rates between two pods). // The reason for this field is that the same flow can be observed from multiple interfaces, // so the agent needs to choose only a view of the same flow and mark the others as // "exclude from aggregation". Otherwise rates, sums, etc... values would be multiplied by the // number of interfaces this flow is observed from. Duplicate bool // AgentIP provides information about the source of the flow (the Agent that traced it) AgentIP string Metadata map[string]string }
Record contains accumulated metrics from a flow, with extra metadata that is added from the user space
Click to show internal directories.
Click to hide internal directories.