filters

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 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

func FailedToRetreiveHostNS() error

func InvalidContextField

func InvalidContextField(field string) error

func InvalidEventArgument

func InvalidEventArgument(argument string) error

func InvalidEventName

func InvalidEventName(event string) error

func InvalidExpression

func InvalidExpression(expression string) error

func InvalidPolicy

func InvalidPolicy(policy string) error

func InvalidValue

func InvalidValue(value string) error

func UnsupportedOperator

func UnsupportedOperator(op Operator) error

Types

type ArgFilter

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

func NewArgFilter

func NewArgFilter() *ArgFilter

func (*ArgFilter) Disable

func (filter *ArgFilter) Disable()

func (*ArgFilter) Enable

func (filter *ArgFilter) Enable()

func (*ArgFilter) Enabled

func (filter *ArgFilter) Enabled() bool

func (*ArgFilter) Filter

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

func (*ArgFilter) GetEventFilters

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

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

func NewBPFBinaryFilter

func NewBPFBinaryFilter(binaryMapName, procInfoMap string) *BPFBinaryFilter

func (*BPFBinaryFilter) UpdateBPF

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

type BPFStringFilter

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

func NewBPFStringFilter

func NewBPFStringFilter(mapName string) *BPFStringFilter

func (*BPFStringFilter) UpdateBPF

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

type BPFUIntFilter

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

func NewBPFUInt32Filter

func NewBPFUInt32Filter(mapName string) *BPFUIntFilter[uint32]

func NewBPFUIntFilter

func NewBPFUIntFilter(mapName string) *BPFUIntFilter[uint64]

func (*BPFUIntFilter[T]) UpdateBPF

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

type BinaryFilter

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

func NewBinaryFilter

func NewBinaryFilter() *BinaryFilter

func (*BinaryFilter) Disable

func (f *BinaryFilter) Disable()

func (*BinaryFilter) Enable

func (f *BinaryFilter) Enable()

func (*BinaryFilter) Enabled

func (f *BinaryFilter) Enabled() bool

func (*BinaryFilter) FilterOut

func (f *BinaryFilter) FilterOut() bool

func (*BinaryFilter) Parse

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

type BoolFilter

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

func NewBoolFilter

func NewBoolFilter() *BoolFilter

func (*BoolFilter) Disable

func (f *BoolFilter) Disable()

func (*BoolFilter) Enable

func (f *BoolFilter) Enable()

func (*BoolFilter) Enabled

func (f *BoolFilter) Enabled() bool

func (*BoolFilter) Filter

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

type ContainerFilter struct {
	*BPFStringFilter
}

func NewContainerFilter

func NewContainerFilter(mapName string) *ContainerFilter

func (*ContainerFilter) UpdateBPF

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

type ContextFilter

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

func NewContextFilter

func NewContextFilter() *ContextFilter

func (*ContextFilter) Disable

func (filter *ContextFilter) Disable()

func (*ContextFilter) Enable

func (filter *ContextFilter) Enable()

func (*ContextFilter) Enabled

func (filter *ContextFilter) Enabled() bool

func (*ContextFilter) Filter

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

func (*ContextFilter) Parse

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

type Filter

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

func NewInt32Filter() *IntFilter[int32]

func NewIntFilter

func NewIntFilter() *IntFilter[int64]

func (*IntFilter[T]) Disable

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

func (*IntFilter[T]) Enable

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

func (*IntFilter[T]) Enabled

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

func (*IntFilter[T]) Filter

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

func (*IntFilter[T]) Maximum

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

func (*IntFilter[T]) Minimum

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

func (*IntFilter[T]) Parse

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

type Operator

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

func (Operator) String

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

func NewProcessTreeFilter(mapName string) *ProcessTreeFilter

func (*ProcessTreeFilter) Disable

func (f *ProcessTreeFilter) Disable()

func (*ProcessTreeFilter) Enable

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

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

type RetFilter

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

func NewRetFilter

func NewRetFilter() *RetFilter

func (*RetFilter) Disable

func (filter *RetFilter) Disable()

func (*RetFilter) Enable

func (filter *RetFilter) Enable()

func (*RetFilter) Enabled

func (filter *RetFilter) Enabled() bool

func (*RetFilter) Filter

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

func NewStringFilter() *StringFilter

func (*StringFilter) Disable

func (f *StringFilter) Disable()

func (*StringFilter) Enable

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

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

func NewUInt32Filter() *UIntFilter[uint32]

func NewUIntFilter

func NewUIntFilter() *UIntFilter[uint64]

func (*UIntFilter[T]) Disable

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

func (*UIntFilter[T]) Enable

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

func (*UIntFilter[T]) Enabled

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

func (*UIntFilter[T]) Filter

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

func (*UIntFilter[T]) FilterOut

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

func (UIntFilter[T]) InMinMaxRange

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

func (*UIntFilter[T]) Maximum

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

func (*UIntFilter[T]) Minimum

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