filters

package
v0.23.0-rc Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2025 License: Apache-2.0 Imports: 13 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 InvalidEventField

func InvalidEventField(data 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 InvalidFilterType

func InvalidFilterType() error

func InvalidPolicy added in v0.13.0

func InvalidPolicy(policy string) error

func InvalidScopeField added in v0.21.0

func InvalidScopeField(field string) error

func InvalidValue added in v0.9.0

func InvalidValue(value string) error

func InvalidValueMax

func InvalidValueMax(value string, max int) error

func UnsupportedOperator added in v0.9.0

func UnsupportedOperator(op Operator) error

Types

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) Clone added in v0.20.0

func (f *BinaryFilter) Clone() *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) Equalities added in v0.20.0

func (f *BinaryFilter) Equalities() BinaryFilterEqualities

func (*BinaryFilter) MatchIfKeyMissing

func (f *BinaryFilter) MatchIfKeyMissing() bool

func (*BinaryFilter) Parse added in v0.11.0

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

type BinaryFilterEqualities added in v0.20.0

type BinaryFilterEqualities struct {
	Equal    map[NSBinary]struct{}
	NotEqual map[NSBinary]struct{}
}

type BoolFilter

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

func NewBoolFilter added in v0.9.0

func NewBoolFilter() *BoolFilter

func (*BoolFilter) Clone added in v0.20.0

func (f *BoolFilter) Clone() *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) MatchIfKeyMissing

func (f *BoolFilter) MatchIfKeyMissing() bool

func (*BoolFilter) Parse

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

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

func (*BoolFilter) Value

func (f *BoolFilter) Value() bool

type DataFilter added in v0.22.0

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

func NewDataFilter added in v0.22.0

func NewDataFilter() *DataFilter

func (*DataFilter) Clone added in v0.22.0

func (f *DataFilter) Clone() *DataFilter

func (*DataFilter) Disable added in v0.22.0

func (f *DataFilter) Disable()

func (*DataFilter) Enable added in v0.22.0

func (f *DataFilter) Enable()

func (*DataFilter) Enabled added in v0.22.0

func (f *DataFilter) Enabled() bool

func (*DataFilter) Equalities

func (f *DataFilter) Equalities() (StringFilterEqualities, error)

func (*DataFilter) Filter added in v0.22.0

func (f *DataFilter) Filter(data []trace.Argument) bool

func (*DataFilter) GetFieldFilters

func (f *DataFilter) GetFieldFilters() map[string]Filter[*StringFilter]

GetFieldFilters returns the data filters map writing to the map may have unintentional consequences, avoid doing so TODO: encapsulate by replacing this function with "GetFieldFilter(fieldName string) StringFilter"

func (*DataFilter) Parse added in v0.22.0

func (f *DataFilter) Parse(id events.ID, fieldName string, operatorAndValues string) error

type Filter added in v0.9.0

type Filter[T any] interface {
	Clone() T

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

This is a generic representation which cannot be implemented With generics this may be a viable interface, with U 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]) Clone added in v0.20.0

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

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 KernelDataFilter

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

KernelDataFilter manages the state of data field filters, indicating whether each filter is enabled or disabled in the kernel.

func NewKernelDataFilter

func NewKernelDataFilter() *KernelDataFilter

func (*KernelDataFilter) IsKernelFilterEnabled

func (kdf *KernelDataFilter) IsKernelFilterEnabled(field string) bool

IsKernelFilterEnabled checks if kernel data field filter is enabled for the specified field.

type NSBinary added in v0.20.0

type NSBinary struct {
	MntNS uint32
	Path  string
}

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 {
	// contains filtered or unexported fields
}

func NewProcessTreeFilter added in v0.9.0

func NewProcessTreeFilter() *ProcessTreeFilter

func (*ProcessTreeFilter) Clone added in v0.20.0

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) Equalities added in v0.20.0

func (*ProcessTreeFilter) MatchIfKeyMissing

func (f *ProcessTreeFilter) MatchIfKeyMissing() bool

func (*ProcessTreeFilter) Parse

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

type ProcessTreeFilterEqualities added in v0.20.0

type ProcessTreeFilterEqualities struct {
	Equal    map[uint32]struct{}
	NotEqual map[uint32]struct{}
}

type ScopeFilter added in v0.21.0

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

func NewScopeFilter added in v0.21.0

func NewScopeFilter() *ScopeFilter

func (*ScopeFilter) Clone added in v0.21.0

func (f *ScopeFilter) Clone() *ScopeFilter

func (*ScopeFilter) Disable added in v0.21.0

func (f *ScopeFilter) Disable()

func (*ScopeFilter) Enable added in v0.21.0

func (f *ScopeFilter) Enable()

func (*ScopeFilter) Enabled added in v0.21.0

func (f *ScopeFilter) Enabled() bool

func (*ScopeFilter) Filter added in v0.21.0

func (f *ScopeFilter) Filter(evt trace.Event) bool

func (*ScopeFilter) Parse added in v0.21.0

func (f *ScopeFilter) Parse(field string, operatorAndValues string) error

type StringFilter

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

func NewStringFilter added in v0.9.0

func NewStringFilter(valHandler ValueHandler) *StringFilter

func (*StringFilter) Clone added in v0.20.0

func (f *StringFilter) Clone() *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) Equalities added in v0.20.0

func (f *StringFilter) Equalities() StringFilterEqualities

func (*StringFilter) Filter added in v0.9.0

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

func (*StringFilter) MatchIfKeyMissing

func (f *StringFilter) MatchIfKeyMissing() 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 StringFilterEqualities added in v0.20.0

type StringFilterEqualities struct {
	ExactEqual     map[string]struct{}
	ExactNotEqual  map[string]struct{}
	PrefixEqual    map[string]struct{}
	PrefixNotEqual map[string]struct{}
	SuffixEqual    map[string]struct{}
	SuffixNotEqual map[string]struct{}
}

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]) Clone added in v0.20.0

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

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]) Equalities added in v0.20.0

func (f *UIntFilter[T]) Equalities() UIntFilterEqualities

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

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

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

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

func (*UIntFilter[T]) MatchIfKeyMissing

func (f *UIntFilter[T]) MatchIfKeyMissing() 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

type UIntFilterEqualities added in v0.20.0

type UIntFilterEqualities struct {
	Equal    map[uint64]struct{}
	NotEqual map[uint64]struct{}
}

type ValueHandler added in v0.21.0

type ValueHandler func(string) (string, error)

ValueHandler is a function that can be passed to StringFilter to handle values when they are parsed

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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