Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/dataobj/sections/pointers/row_predicate.go

27 lines
925 B

package pointers
import "time"
type (
// RowPredicate is an expression used to filter rows in a data object.
RowPredicate interface{ isRowPredicate() }
)
// Supported predicates.
type (
// An AndRowPredicate is a RowPredicate which requires both its Left and
// Right predicate to be true.
AndRowPredicate struct{ Left, Right RowPredicate }
// A BloomExistenceRowPredicate is a RowPredicate which requires a bloom filter column named
// Name to exist, and for the Value to pass the bloom filter.
BloomExistenceRowPredicate struct{ Name, Value string }
// A TimeRangeRowPredicate is a RowPredicate which requires the timestamp of
// the entry to be within the range of StartTime and EndTime.
TimeRangeRowPredicate struct{ Start, End time.Time }
)
func (AndRowPredicate) isRowPredicate() {}
func (BloomExistenceRowPredicate) isRowPredicate() {}
func (TimeRangeRowPredicate) isRowPredicate() {}