Documentation
¶
Index ¶
- func FailedToRetreiveHostNS() error
- func GetUnsetMax[T NumericConstraint]() T
- func GetUnsetMin[T NumericConstraint]() T
- func InvalidEventField(data string) error
- func InvalidEventName(event string) error
- func InvalidExpression(expression string) error
- func InvalidFilterType() error
- func InvalidPolicy(policy string) error
- func InvalidScopeField(field string) error
- func InvalidValue(value string) error
- func InvalidValueMax(value string, max int) error
- func UnsupportedOperator(op Operator) error
- type BinaryFilter
- func (f *BinaryFilter) Clone() *BinaryFilter
- func (f *BinaryFilter) Disable()
- func (f *BinaryFilter) Enable()
- func (f *BinaryFilter) Enabled() bool
- func (f *BinaryFilter) Equalities() BinaryFilterEqualities
- func (f *BinaryFilter) MatchIfKeyMissing() bool
- func (f *BinaryFilter) Parse(operatorAndValues string) error
- type BinaryFilterEqualities
- type BoolFilter
- func (f *BoolFilter) Clone() *BoolFilter
- func (f *BoolFilter) Disable()
- func (f *BoolFilter) Enable()
- func (f *BoolFilter) Enabled() bool
- func (f *BoolFilter) Filter(val interface{}) bool
- func (f *BoolFilter) MatchIfKeyMissing() bool
- func (f *BoolFilter) Parse(operatorAndValues string) error
- func (f *BoolFilter) Value() bool
- type DataFilter
- func (f *DataFilter) Clone() *DataFilter
- func (f *DataFilter) Disable()
- func (f *DataFilter) Enable()
- func (f *DataFilter) Enabled() bool
- func (f *DataFilter) Equalities() (StringFilterEqualities, error)
- func (f *DataFilter) Filter(data []trace.Argument) bool
- func (f *DataFilter) GetFieldFilters() map[string]Filter[*StringFilter]
- func (f *DataFilter) Parse(id events.ID, fieldName string, operatorAndValues string) error
- type Filter
- type KernelDataFilter
- type NSBinary
- type NumericConstraint
- type NumericFilter
- func (f *NumericFilter[T]) Clone() *NumericFilter[T]
- func (f *NumericFilter[T]) Disable()
- func (f *NumericFilter[T]) Enable()
- func (f *NumericFilter[T]) Enabled() bool
- func (f *NumericFilter[T]) Equalities() NumericFilterEqualities[T]
- func (f *NumericFilter[T]) Filter(val any) bool
- func (f *NumericFilter[T]) InMinMaxRange(val T) bool
- func (f *NumericFilter[T]) MatchIfKeyMissing() bool
- func (f *NumericFilter[T]) Maximum() T
- func (f *NumericFilter[T]) Minimum() T
- func (f *NumericFilter[T]) Parse(operatorAndValues string) error
- type NumericFilterEqualities
- type Operator
- type ProcessTreeFilter
- func (f *ProcessTreeFilter) Clone() *ProcessTreeFilter
- func (f *ProcessTreeFilter) Disable()
- func (f *ProcessTreeFilter) Enable()
- func (f *ProcessTreeFilter) Enabled() bool
- func (f *ProcessTreeFilter) Equalities() ProcessTreeFilterEqualities
- func (f *ProcessTreeFilter) MatchIfKeyMissing() bool
- func (f *ProcessTreeFilter) Parse(operatorAndValues string) error
- type ProcessTreeFilterEqualities
- type ScopeFilter
- type StringFilter
- func (f *StringFilter) Clone() *StringFilter
- func (f *StringFilter) Disable()
- func (f *StringFilter) Enable()
- func (f *StringFilter) Enabled() bool
- func (f *StringFilter) Equal() []string
- func (f *StringFilter) Equalities() StringFilterEqualities
- func (f *StringFilter) Filter(val interface{}) bool
- func (f *StringFilter) MatchIfKeyMissing() bool
- func (f *StringFilter) NotEqual() []string
- func (f *StringFilter) Parse(operatorAndValues string) error
- type StringFilterEqualities
- type ValueHandler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func FailedToRetreiveHostNS ¶ added in v0.11.0
func FailedToRetreiveHostNS() error
func GetUnsetMax ¶ added in v0.24.0
func GetUnsetMax[T NumericConstraint]() T
GetUnsetMax returns the "unset" maximum value for numeric type T. For unsigned types, this is zero (indicating no maximum constraint). For signed types, this is the minimum value (indicating no maximum constraint).
func GetUnsetMin ¶ added in v0.24.0
func GetUnsetMin[T NumericConstraint]() T
GetUnsetMin returns the "unset" minimum value for numeric type T. For unsigned types, this is the maximum value (indicating no minimum constraint). For signed types, this is the maximum value (indicating no minimum constraint).
func InvalidEventField ¶ added in v0.23.0
func InvalidEventName ¶ added in v0.9.0
func InvalidExpression ¶ added in v0.9.0
func InvalidFilterType ¶ added in v0.23.0
func InvalidFilterType() error
func InvalidPolicy ¶ added in v0.13.0
func InvalidScopeField ¶ added in v0.21.0
func InvalidValue ¶ added in v0.9.0
func InvalidValueMax ¶ added in v0.23.0
func UnsupportedOperator ¶ added in v0.9.0
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 ¶ added in v0.23.0
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 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 ¶ added in v0.23.0
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 ¶ added in v0.23.0
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 ¶ added in v0.23.0
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"
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 KernelDataFilter ¶ added in v0.23.0
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 ¶ added in v0.23.0
func NewKernelDataFilter() *KernelDataFilter
func (*KernelDataFilter) IsKernelFilterEnabled ¶ added in v0.23.0
func (kdf *KernelDataFilter) IsKernelFilterEnabled(field string) bool
IsKernelFilterEnabled checks if kernel data field filter is enabled for the specified field.
type NumericConstraint ¶ added in v0.24.0
type NumericConstraint interface {
constraints.Signed | constraints.Unsigned
}
NumericConstraint defines the constraint for numeric types that can be filtered
type NumericFilter ¶ added in v0.24.0
type NumericFilter[T NumericConstraint] struct { // contains filtered or unexported fields }
NumericFilter is a generic filter for both signed and unsigned numeric types
func NewInt32Filter ¶ added in v0.9.0
func NewInt32Filter() *NumericFilter[int32]
func NewIntFilter ¶ added in v0.9.0
func NewIntFilter() *NumericFilter[int64]
Constructor helpers for backward compatibility
func NewNumericFilter ¶ added in v0.24.0
func NewNumericFilter[T NumericConstraint]() *NumericFilter[T]
NewNumericFilter creates a new generic numeric filter for the specified type
func NewUInt32Filter ¶ added in v0.9.0
func NewUInt32Filter() *NumericFilter[uint32]
func NewUIntFilter ¶ added in v0.9.0
func NewUIntFilter() *NumericFilter[uint64]
func (*NumericFilter[T]) Clone ¶ added in v0.24.0
func (f *NumericFilter[T]) Clone() *NumericFilter[T]
func (*NumericFilter[T]) Disable ¶ added in v0.24.0
func (f *NumericFilter[T]) Disable()
func (*NumericFilter[T]) Enable ¶ added in v0.24.0
func (f *NumericFilter[T]) Enable()
func (*NumericFilter[T]) Enabled ¶ added in v0.24.0
func (f *NumericFilter[T]) Enabled() bool
func (*NumericFilter[T]) Equalities ¶ added in v0.24.0
func (f *NumericFilter[T]) Equalities() NumericFilterEqualities[T]
Equalities returns the equality maps with the exact type T. Returns empty maps if the filter is disabled.
func (*NumericFilter[T]) Filter ¶ added in v0.24.0
func (f *NumericFilter[T]) Filter(val any) bool
Filter checks if the given value matches the filter criteria. Returns false if val is not of type T or doesn't match the filter conditions. The filter uses priority: equality > range constraints > not-equality.
func (*NumericFilter[T]) InMinMaxRange ¶ added in v0.24.0
func (f *NumericFilter[T]) InMinMaxRange(val T) bool
InMinMaxRange checks if a value is within the configured min/max range. Returns true if no range constraints are set, or if val is within the range. Range checks are exclusive: val must be > min and < max.
func (*NumericFilter[T]) MatchIfKeyMissing ¶ added in v0.24.0
func (f *NumericFilter[T]) MatchIfKeyMissing() bool
MatchIfKeyMissing returns whether missing keys should match the filter. Returns false only when the filter has equality constraints but no other constraints.
func (*NumericFilter[T]) Maximum ¶ added in v0.24.0
func (f *NumericFilter[T]) Maximum() T
func (*NumericFilter[T]) Minimum ¶ added in v0.24.0
func (f *NumericFilter[T]) Minimum() T
func (*NumericFilter[T]) Parse ¶ added in v0.24.0
func (f *NumericFilter[T]) Parse(operatorAndValues string) error
Parse parses a filter expression and adds the constraints to the filter. Supported operators: =, !=, <, <=, >, >= Values can be comma-separated for multiple constraints with the same operator. Examples: "=1,2,3", ">10", "<=100", "!=5"
type NumericFilterEqualities ¶ added in v0.24.0
type NumericFilterEqualities[T NumericConstraint] struct { Equal map[T]struct{} NotEqual map[T]struct{} }
NumericFilterEqualities represents the equality maps for any numeric type T
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 (f *ProcessTreeFilter) Clone() *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) Equalities ¶ added in v0.20.0
func (f *ProcessTreeFilter) Equalities() ProcessTreeFilterEqualities
func (*ProcessTreeFilter) MatchIfKeyMissing ¶ added in v0.23.0
func (f *ProcessTreeFilter) MatchIfKeyMissing() bool
func (*ProcessTreeFilter) Parse ¶
func (f *ProcessTreeFilter) Parse(operatorAndValues string) error
type ProcessTreeFilterEqualities ¶ added in v0.20.0
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
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 ¶ added in v0.23.0
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 ValueHandler ¶ added in v0.21.0
ValueHandler is a function that can be passed to StringFilter to handle values when they are parsed