# Functions
ChainOrFilter is a syntax sugar to chain multiple `or` filters.
ChainOrMatcherFilterer is a syntax sugar to chain multiple `or` filters.
IsNoopPipeline tells if a pipeline is a Noop.
LabelExtractorWithStages creates a SampleExtractor that will extract metrics from a labels.
NewAndFilter creates a new filter which matches only if left and right matches.
NewAndFilters creates a new filter which matches only if all filters match.
NewAndLabelFilter creates a new LabelFilterer from a and binary operation of two LabelFilterer.
NewBaseLabelsBuilder creates a new base labels builder.
NewBaseLabelsBuilderWithGrouping creates a new base labels builder with grouping to compute results.
NewBytesLabelFilter creates a new label filterer which parses bytes string representation (1KB) from the value of the named label and compares it with the given b value.
NewDurationLabelFilter creates a new label filterer which parses duration string representation (5s) from the value of the named label and compares it with the given d value.
NewFilter creates a new line filter from a match string and type.
NewFilteringPipeline creates a pipeline where entries from the underlying log stream are filtered by pipeline filters before being passed to the pipeline representing the queried data.
NewFilteringSampleExtractor creates a sample extractor where entries from the underlying log stream are filtered by pipeline filters before being passed to extract samples.
NewFormatter creates a new log line formatter from a given text template.
NewIPLabelFilter is used to construct ip filter as label filter for the given `label`.
NewIPLineFilter is used to construct ip filter as a `LineFilter`.
NewJSONParser creates a log stage that can parse a json log line and add properties as labels.
NewLabelFilter creates a new filter that has label regex semantics.
NewLabelsFormatter creates a new formatter that can format multiple labels at once.
NewLabelsResult creates a new LabelsResult.
NewLineSampleExtractor creates a SampleExtractor from a LineExtractor.
NewLogfmtParser creates a parser that can extract labels from a logfmt log line.
NewNoopPipeline creates a pipelines that does not process anything and returns log streams as is.
NewNotFilter creates a new filter which matches only if the base filter doesn't match.
NewNumericLabelFilter creates a new label filterer which parses float64 string representation (5.2) from the value of the named label and compares it with the given f value.
NewOrLabelFilter creates a new LabelFilterer from a or binary operation of two LabelFilterer.
NewParserHint creates a new parser hint using the list of labels that are seen and required in a query.
NewPipeline creates a new pipeline for a given set of stages.
NewRegexpParser creates a new log stage that can extract labels from a log line using a regex expression.
NewRenameLabelFmt creates a configuration to rename a label.
NewStringLabelFilter creates a new label filterer which compares string label.
NewTemplateLabelFmt creates a configuration to format a label using text template.
NewUnpackParser creates a new unpack stage.
ReduceAndLabelFilter Reduces multiple label filterer into one using binary and operation.
ReduceStages reduces multiple stages into one.
# Constants
Possible LabelFilterType.
Possible LabelFilterType.
Possible LabelFilterType.
Possible LabelFilterType.
Possible LabelFilterType.
Possible LabelFilterType.
Possible LineMatchTypes.
Possible LineMatchTypes.
Possible LineMatchTypes.
Possible LineMatchTypes.
Possible LineMatchTypes.
Possible LineMatchTypes.
# Variables
ExistsFilter is a filter that returns and matches when a line has any characters.
NoopStage is a stage that doesn't process a log line.
TrueFilter is a filter that returns and matches all log lines whatever their content.
# Structs
BaseLabelsBuilder is a label builder used by pipeline and stages.
TODO: we might want an interface to support different types of batches.
LabelFmt is a configuration struct for formatting a label.
LabelsBuilder is the same as labels.Builder but tailored for this package.
LineFilterLabelFilter filters the desired label using an optimized line filter.
PipelineFilter contains a set of matchers and a pipeline that, when matched, causes an entry from a log stream to be skipped.
# Interfaces
Checker is an interface that matches against the input line or regexp.
Filterer is a interface to filter log lines.
Should be one of the netip.Addr, netip.Prefix, netipx.IPRange.
LabelFilterer can filter extracted labels.
LabelsResult is a computed labels result that contains the labels set with associated string and hash.
Matcher is a interface to match log lines against a Checker.
ParserHint are hints given to LogQL parsers.
Pipeline can create pipelines for each log stream.
PipelineWrapper takes a pipeline, wraps it is some desired functionality and returns a new pipeline.
SampleExtractor creates StreamSampleExtractor that can extract samples for a given log stream.
SampleExtractorWrapper takes an extractor, wraps it is some desired functionality and returns a new pipeline.
Stage is a single step of a Pipeline.
StreamPipeline transform and filter log lines and labels.
StreamSampleExtractor extracts sample for a log line.
# Type aliases
LineFilterFunc is a syntax sugar for creating line filter from a function.
LabelFilterType is an enum for label filtering types.
LineExtractor extracts a float64 from a log line.
LineMatchType is an enum for line matching types.