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 ( 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.