filters

package
v0.17.0 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2023 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	MaxNotSetUInt uint64 = 0
	MinNotSetUInt uint64 = math.MaxUint64
)

Variables

This section is empty.

Functions

func FailedToRetreiveHostNS added in v0.11.0

func FailedToRetreiveHostNS() error

func InvalidContextField added in v0.10.0

func InvalidContextField(field string) error

func InvalidEventArgument added in v0.9.0

func InvalidEventArgument(argument string) error

func InvalidEventName added in v0.9.0

func InvalidEventName(event string) error

func InvalidExpression added in v0.9.0

func InvalidExpression(expression string) error

func InvalidPolicy added in v0.13.0

func InvalidPolicy(policy string) error

func InvalidValue added in v0.9.0

func InvalidValue(value string) error

func UnsupportedOperator added in v0.9.0

func UnsupportedOperator(op Operator) error

Types

type ArgFilter

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

func NewArgFilter added in v0.9.0

func NewArgFilter() *ArgFilter

func (*ArgFilter) Disable added in v0.9.0

func (filter *ArgFilter) Disable()

func (*ArgFilter) Enable added in v0.9.0

func (filter *ArgFilter) Enable()

func (*ArgFilter) Enabled

func (filter *ArgFilter) Enabled() bool

func (*ArgFilter) Filter added in v0.9.0

func (filter *ArgFilter) Filter(eventID events.ID, args []trace.Argument) bool

func (*ArgFilter) GetEventFilters added in v0.9.0

func (filter *ArgFilter) GetEventFilters(eventID events.ID) map[string]Filter

GetEventFilters returns the argument filters map for a specific event writing to the map may have unintentional consequences, avoid doing so

func (*ArgFilter) Parse

func (filter *ArgFilter) Parse(filterName string, operatorAndValues string, eventsNameToID map[string]events.ID) error

type BPFBinaryFilter added in v0.11.0

type BPFBinaryFilter struct {
	BinaryFilter
	// contains filtered or unexported fields
}

func NewBPFBinaryFilter added in v0.11.0

func NewBPFBinaryFilter(binaryMapName, procInfoMap string) *BPFBinaryFilter

func (*BPFBinaryFilter) UpdateBPF added in v0.11.0

func (f *BPFBinaryFilter) UpdateBPF(bpfModule *bpf.Module, policyID uint) error

type BPFStringFilter added in v0.9.0

type BPFStringFilter struct {
	StringFilter
	// contains filtered or unexported fields
}

func NewBPFStringFilter added in v0.9.0

func NewBPFStringFilter(mapName string) *BPFStringFilter

func (*BPFStringFilter) UpdateBPF added in v0.11.0

func (filter *BPFStringFilter) UpdateBPF(bpfModule *bpf.Module, policyID uint) error

type BPFUIntFilter added in v0.9.0

type BPFUIntFilter[T constraints.Unsigned] struct {
	UIntFilter[T]
	// contains filtered or unexported fields
}

func NewBPFUInt32Filter added in v0.9.0

func NewBPFUInt32Filter(mapName string) *BPFUIntFilter[uint32]

func NewBPFUIntFilter added in v0.9.0

func NewBPFUIntFilter(mapName string) *BPFUIntFilter[uint64]

func (*BPFUIntFilter[T]) UpdateBPF added in v0.11.0

func (filter *BPFUIntFilter[T]) UpdateBPF(bpfModule *bpf.Module, policyID uint) error

type BinaryFilter added in v0.11.0

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

func NewBinaryFilter added in v0.11.0

func NewBinaryFilter() *BinaryFilter

func (*BinaryFilter) Disable added in v0.11.0

func (f *BinaryFilter) Disable()

func (*BinaryFilter) Enable added in v0.11.0

func (f *BinaryFilter) Enable()

func (*BinaryFilter) Enabled added in v0.11.0

func (f *BinaryFilter) Enabled() bool

func (*BinaryFilter) FilterOut added in v0.11.0

func (f *BinaryFilter) FilterOut() bool

func (*BinaryFilter) Parse added in v0.11.0

func (f *BinaryFilter) Parse(operatorAndValues string) error

type BoolFilter

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

func NewBoolFilter added in v0.9.0

func NewBoolFilter() *BoolFilter

func (*BoolFilter) Disable added in v0.9.0

func (f *BoolFilter) Disable()

func (*BoolFilter) Enable added in v0.9.0

func (f *BoolFilter) Enable()

func (*BoolFilter) Enabled

func (f *BoolFilter) Enabled() bool

func (*BoolFilter) Filter added in v0.9.0

func (f *BoolFilter) Filter(val interface{}) bool

func (*BoolFilter) FilterOut

func (f *BoolFilter) FilterOut() bool

func (*BoolFilter) Parse

func (f *BoolFilter) Parse(operatorAndValues string) error

BoolFilter can support the following expressions values in <> are ignored field -> field=true !field -> field=false field=true field=false field!=true field!=false

func (*BoolFilter) Value

func (f *BoolFilter) Value() bool

type ContainerFilter added in v0.9.0

type ContainerFilter struct {
	*BPFStringFilter
}

func NewContainerFilter added in v0.9.0

func NewContainerFilter(mapName string) *ContainerFilter

func (*ContainerFilter) UpdateBPF added in v0.11.0

func (f *ContainerFilter) UpdateBPF(bpfModule *bpf.Module, cts *containers.Containers, policyID uint) error

type ContextFilter added in v0.10.0

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

func NewContextFilter added in v0.10.0

func NewContextFilter() *ContextFilter

func (*ContextFilter) Disable added in v0.10.0

func (filter *ContextFilter) Disable()

func (*ContextFilter) Enable added in v0.10.0

func (filter *ContextFilter) Enable()

func (*ContextFilter) Enabled added in v0.10.0

func (filter *ContextFilter) Enabled() bool

func (*ContextFilter) Filter added in v0.10.0

func (filter *ContextFilter) Filter(event trace.Event) bool

func (*ContextFilter) Parse added in v0.10.0

func (filter *ContextFilter) Parse(filterName string, operatorAndValues string) error

type Filter added in v0.9.0

type Filter interface {
	Filter(val interface{}) bool
	Parse(string) error
	Enable()
	Disable()
	Enabled() bool
}

This is a generic representation which cannot be implemented With generics this may be a viable interface, with T replacing interface{} Filters can be enabled or disabled - if a filter is enabled it will be skipped

type IntFilter

type IntFilter[T constraints.Signed] struct {
	// contains filtered or unexported fields
}

func NewInt32Filter added in v0.9.0

func NewInt32Filter() *IntFilter[int32]

func NewIntFilter added in v0.9.0

func NewIntFilter() *IntFilter[int64]

func (*IntFilter[T]) Disable added in v0.9.0

func (f *IntFilter[T]) Disable()

func (*IntFilter[T]) Enable added in v0.9.0

func (f *IntFilter[T]) Enable()

func (*IntFilter[T]) Enabled

func (f *IntFilter[T]) Enabled() bool

func (*IntFilter[T]) Filter added in v0.9.0

func (f *IntFilter[T]) Filter(val interface{}) bool

func (*IntFilter[T]) Maximum added in v0.9.0

func (f *IntFilter[T]) Maximum() int64

func (*IntFilter[T]) Minimum added in v0.9.0

func (f *IntFilter[T]) Minimum() int64

func (*IntFilter[T]) Parse

func (f *IntFilter[T]) Parse(operatorAndValues string) error

type Operator added in v0.9.0

type Operator uint
const (
	Equal Operator = iota
	NotEqual
	Lower
	LowerEqual
	Greater
	GreaterEqual
)

func (Operator) String added in v0.9.0

func (o Operator) String() string

type ProcessTreeFilter

type ProcessTreeFilter struct {
	PIDs map[uint32]bool // PIDs is a map where k=pid and v represents whether it and its descendent should be traced or not
	// contains filtered or unexported fields
}

func NewProcessTreeFilter added in v0.9.0

func NewProcessTreeFilter(mapName string) *ProcessTreeFilter

func (*ProcessTreeFilter) Disable added in v0.9.0

func (f *ProcessTreeFilter) Disable()

func (*ProcessTreeFilter) Enable added in v0.9.0

func (f *ProcessTreeFilter) Enable()

func (*ProcessTreeFilter) Enabled

func (f *ProcessTreeFilter) Enabled() bool

func (*ProcessTreeFilter) FilterOut

func (f *ProcessTreeFilter) FilterOut() bool

func (*ProcessTreeFilter) Parse

func (f *ProcessTreeFilter) Parse(operatorAndValues string) error

func (*ProcessTreeFilter) UpdateBPF added in v0.11.0

func (f *ProcessTreeFilter) UpdateBPF(bpfModule *bpf.Module, policyID uint) error

type RetFilter

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

func NewRetFilter added in v0.9.0

func NewRetFilter() *RetFilter

func (*RetFilter) Disable added in v0.9.0

func (filter *RetFilter) Disable()

func (*RetFilter) Enable added in v0.9.0

func (filter *RetFilter) Enable()

func (*RetFilter) Enabled

func (filter *RetFilter) Enabled() bool

func (*RetFilter) Filter added in v0.9.0

func (filter *RetFilter) Filter(eventID events.ID, retVal int64) bool

func (*RetFilter) Parse

func (filter *RetFilter) Parse(filterName string, operatorAndValues string, eventsNameToID map[string]events.ID) error

type StringFilter

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

func NewStringFilter added in v0.9.0

func NewStringFilter() *StringFilter

func (*StringFilter) Disable added in v0.9.0

func (f *StringFilter) Disable()

func (*StringFilter) Enable added in v0.9.0

func (f *StringFilter) Enable()

func (*StringFilter) Enabled

func (f *StringFilter) Enabled() bool

func (*StringFilter) Equal

func (f *StringFilter) Equal() []string

Equals returns all equality check values - direct, prefixed and suffixed

func (*StringFilter) Filter added in v0.9.0

func (f *StringFilter) Filter(val interface{}) bool

func (*StringFilter) FilterOut

func (f *StringFilter) FilterOut() bool

func (*StringFilter) NotEqual

func (f *StringFilter) NotEqual() []string

NotEquals returns all non-equality check values - direct, prefixed and suffixed

func (*StringFilter) Parse

func (f *StringFilter) Parse(operatorAndValues string) error

type UIntFilter

type UIntFilter[T constraints.Unsigned] struct {
	// contains filtered or unexported fields
}

func NewUInt32Filter added in v0.9.0

func NewUInt32Filter() *UIntFilter[uint32]

func NewUIntFilter added in v0.9.0

func NewUIntFilter() *UIntFilter[uint64]

func (*UIntFilter[T]) Disable added in v0.9.0

func (f *UIntFilter[T]) Disable()

func (*UIntFilter[T]) Enable added in v0.9.0

func (f *UIntFilter[T]) Enable()

func (*UIntFilter[T]) Enabled

func (f *UIntFilter[T]) Enabled() bool

func (*UIntFilter[T]) Filter added in v0.9.0

func (f *UIntFilter[T]) Filter(val interface{}) bool

func (*UIntFilter[T]) FilterOut

func (f *UIntFilter[T]) FilterOut() bool

func (UIntFilter[T]) InMinMaxRange added in v0.11.0

func (f UIntFilter[T]) InMinMaxRange(val T) bool

func (*UIntFilter[T]) Maximum added in v0.9.0

func (f *UIntFilter[T]) Maximum() uint64

func (*UIntFilter[T]) Minimum added in v0.9.0

func (f *UIntFilter[T]) Minimum() uint64

func (*UIntFilter[T]) Parse

func (f *UIntFilter[T]) Parse(operatorAndValues string) error

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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