Documentation ¶
Index ¶
- Constants
- func CreateNetEvent(eventMeta bufferdecoder.NetEventMetadata, ctx procinfo.ProcessCtx, ...) trace.Event
- func GetCaptureEventsList(cfg Config) map[events.ID]eventConfig
- func GetEssentialEventsList() map[events.ID]eventConfig
- func MergeErrors(cs ...<-chan error) <-chan error
- type CapabilitiesConfig
- type CaptureConfig
- type Config
- type Filter
- type InitValues
- type NetIfaces
- type OutputConfig
- type Tracee
Constants ¶
const ( StructFopsPointer int = iota Iterate )
const ( UIDFilterMap = "uid_filter" PIDFilterMap = "pid_filter" MntNSFilterMap = "mnt_ns_filter" PidNSFilterMap = "pid_ns_filter" UTSFilterMap = "uts_ns_filter" CommFilterMap = "comm_filter" ProcessTreeFilterMap = "process_tree_map" CgroupIdFilterMap = "cgroup_id_filter" ContIdFilter = "cont_id_filter" )
Variables ¶
This section is empty.
Functions ¶
func CreateNetEvent ¶
func CreateNetEvent(eventMeta bufferdecoder.NetEventMetadata, ctx procinfo.ProcessCtx, eventName string) trace.Event
CreateNetEvent creates and returns event 'eventName'
func GetCaptureEventsList ¶ added in v0.8.0
GetCaptureEventsList sets events used to capture data
func GetEssentialEventsList ¶ added in v0.8.0
GetEssentialEventsList sets the default events used by tracee
func MergeErrors ¶
MergeErrors merges multiple channels of errors. Based on https://blog.golang.org/pipelines.
Types ¶
type CapabilitiesConfig ¶ added in v0.9.0
type CaptureConfig ¶
type Config ¶
type Config struct { Filter *Filter Capture *CaptureConfig Capabilities *CapabilitiesConfig Output *OutputConfig Cache queue.CacheConfig PerfBufferSize int BlobPerfBufferSize int Debug bool BTFObjPath string BPFObjPath string BPFObjBytes []byte KernelConfig *helpers.KernelConfig ChanEvents chan trace.Event ChanErrors chan error ProcessInfo bool OSInfo *helpers.OSInfo Sockets runtime.Sockets ContainersEnrich bool // contains filtered or unexported fields }
Config is a struct containing user defined configuration of tracee
type Filter ¶
type Filter struct { EventsToTrace []events.ID UIDFilter *filters.BPFUIntFilter PIDFilter *filters.BPFUIntFilter NewPidFilter *filters.BoolFilter MntNSFilter *filters.BPFUIntFilter PidNSFilter *filters.BPFUIntFilter UTSFilter *filters.BPFStringFilter CommFilter *filters.BPFStringFilter ContFilter *filters.BoolFilter NewContFilter *filters.BoolFilter ContIDFilter *filters.ContainerFilter RetFilter *filters.RetFilter ArgFilter *filters.ArgFilter ProcessTreeFilter *filters.ProcessTreeFilter Follow bool NetFilter *NetIfaces }
type InitValues ¶ added in v0.8.1
type InitValues struct {
// contains filtered or unexported fields
}
InitValues determines if to initialize values that might be needed by eBPF programs
type NetIfaces ¶ added in v0.8.1
type NetIfaces struct {
Ifaces []string
}
func (*NetIfaces) Interfaces ¶ added in v0.8.1
type OutputConfig ¶
type Tracee ¶
type Tracee struct { StackAddressesMap *bpf.BPFMap FDArgPathMap *bpf.BPFMap // contains filtered or unexported fields }
Tracee traces system calls and system events using eBPF
func New ¶
New creates a new Tracee instance based on a given valid Config It is expected that New will not cause external system side effects (reads, writes, etc.)
func (*Tracee) GetTailCalls ¶ added in v0.8.3
func (*Tracee) Init ¶ added in v0.8.1
Initialize tracee instance and it's various subsystems, potentially performing external system operations to initialize them. NOTE: any initialization logic, especially one that causes side effects, should go here and not New().
func (*Tracee) WaitForPipeline ¶
WaitForPipeline waits for results from all error channels.