Event Composition
A Retis event is a structured data record representing networking activity at a specific point in time. Each event is composed of multiple sections that provide different types of information about the packet or probe.Event Structure
Events follow this general structure:- Common section (required): Timestamp and task information
- Kernel or Userspace section: Probe type and location
- Optional sections: Additional data based on collectors and packet type
JSON Schema
Events are serialized to JSON with the following top-level structure:Event Sections
Each event can contain the following sections:Always present. Contains timestamp, CPU ID, and task information.
Kernel probe information (kprobe, kretprobe, or raw tracepoint).
Userspace probe information (USDT probes).
Packet tracking information with event index (post-processing).
Socket buffer tracking for following packets through the stack.
Drop reason when packets are discarded.
Raw packet data with parsed protocol information.
Socket buffer metadata (checksums, GSO, reference counts).
Network namespace information.
Network device information (interface name and index).
OpenvSwitch datapath events (upcalls, actions, flows).
Netfilter/nftables rule matching information.
Connection tracking state and tuples.
Collection metadata emitted at startup.
Section Grouping
Sections are grouped in an event when they share a common property, such as:- Being linked to the same packet
- Occurring at the same probe point
- Having the same tracking ID
When Sections Are Populated
Which sections appear in an event depends on:- Enabled collectors: Collectors must be enabled via
-cflag - Packet type: Protocol-specific data only appears for matching packets
- Probe location: Some data is only available at specific kernel functions
- Kernel version: Newer kernels provide more information
Example Event
Here’s a complete event showing an skb drop:Not all sections appear in every event. The exact composition depends on the collection configuration and the data retrieved at each probe point.
