Documentation ¶
Index ¶
- Variables
- func ClampFunctionOperatorFactory(args []types.Operator, ...) (types.InstantVectorOperator, error)
- func HistogramFractionFunctionOperatorFactory(args []types.Operator, ...) (types.InstantVectorOperator, error)
- func HistogramQuantileFunctionOperatorFactory(args []types.Operator, ...) (types.InstantVectorOperator, error)
- func LabelReplaceFunctionOperatorFactory(args []types.Operator, ...) (types.InstantVectorOperator, error)
- func NewEngine(opts EngineOpts, limitsProvider QueryLimitsProvider, ...) (promql.QueryEngine, error)
- func PredictLinearFactory(args []types.Operator, ...) (types.InstantVectorOperator, error)
- func RegisterInstantVectorFunctionOperatorFactory(functionName string, factory InstantVectorFunctionOperatorFactory) error
- func RegisterScalarFunctionOperatorFactory(functionName string, factory ScalarFunctionOperatorFactory) error
- func RoundFunctionOperatorFactory(args []types.Operator, ...) (types.InstantVectorOperator, error)
- func TestMain(m *testing.M)
- func TimestampFunctionOperatorFactory(args []types.Operator, ...) (types.InstantVectorOperator, error)
- type Engine
- type EngineOpts
- type Features
- type InstantVectorFunctionOperatorFactory
- func ClampMinMaxFunctionOperatorFactory(functionName string, isMin bool) InstantVectorFunctionOperatorFactory
- func FunctionOverRangeVectorOperatorFactory(name string, f functions.FunctionOverRangeVectorDefinition) InstantVectorFunctionOperatorFactory
- func InstantVectorLabelManipulationFunctionOperatorFactory(name string, metadataFunc functions.SeriesMetadataFunctionDefinition) InstantVectorFunctionOperatorFactory
- func InstantVectorTransformationFunctionOperatorFactory(name string, seriesDataFunc functions.InstantVectorSeriesFunction) InstantVectorFunctionOperatorFactory
- func SingleInputVectorFunctionOperatorFactory(name string, f functions.FunctionOverInstantVectorDefinition) InstantVectorFunctionOperatorFactory
- func TimeTransformationFunctionOperatorFactory(name string, seriesDataFunc functions.InstantVectorSeriesFunction) InstantVectorFunctionOperatorFactory
- type Query
- type QueryLimitsProvider
- type ScalarFunctionOperatorFactory
Constants ¶
This section is empty.
Variables ¶
var EnableAllFeatures = Features{ true, true, true, true, true, true, true, true, []string{}, []string{}, }
EnableAllFeatures enables all features supported by MQE, including experimental or incomplete features.
Functions ¶
func ClampFunctionOperatorFactory ¶
func ClampFunctionOperatorFactory(args []types.Operator, memoryConsumptionTracker *limiting.MemoryConsumptionTracker, _ *annotations.Annotations, expressionPosition posrange.PositionRange, timeRange types.QueryTimeRange) (types.InstantVectorOperator, error)
func HistogramFractionFunctionOperatorFactory ¶
func HistogramFractionFunctionOperatorFactory(args []types.Operator, memoryConsumptionTracker *limiting.MemoryConsumptionTracker, _ *annotations.Annotations, expressionPosition posrange.PositionRange, timeRange types.QueryTimeRange) (types.InstantVectorOperator, error)
func HistogramQuantileFunctionOperatorFactory ¶
func HistogramQuantileFunctionOperatorFactory(args []types.Operator, memoryConsumptionTracker *limiting.MemoryConsumptionTracker, annotations *annotations.Annotations, expressionPosition posrange.PositionRange, timeRange types.QueryTimeRange) (types.InstantVectorOperator, error)
func LabelReplaceFunctionOperatorFactory ¶
func LabelReplaceFunctionOperatorFactory(args []types.Operator, memoryConsumptionTracker *limiting.MemoryConsumptionTracker, _ *annotations.Annotations, expressionPosition posrange.PositionRange, timeRange types.QueryTimeRange) (types.InstantVectorOperator, error)
func NewEngine ¶
func NewEngine(opts EngineOpts, limitsProvider QueryLimitsProvider, metrics *stats.QueryMetrics, logger log.Logger) (promql.QueryEngine, error)
func PredictLinearFactory ¶
func PredictLinearFactory(args []types.Operator, memoryConsumptionTracker *limiting.MemoryConsumptionTracker, annotations *annotations.Annotations, expressionPosition posrange.PositionRange, timeRange types.QueryTimeRange) (types.InstantVectorOperator, error)
func RegisterInstantVectorFunctionOperatorFactory ¶
func RegisterInstantVectorFunctionOperatorFactory(functionName string, factory InstantVectorFunctionOperatorFactory) error
func RegisterScalarFunctionOperatorFactory ¶
func RegisterScalarFunctionOperatorFactory(functionName string, factory ScalarFunctionOperatorFactory) error
func RoundFunctionOperatorFactory ¶
func RoundFunctionOperatorFactory(args []types.Operator, memoryConsumptionTracker *limiting.MemoryConsumptionTracker, _ *annotations.Annotations, expressionPosition posrange.PositionRange, timeRange types.QueryTimeRange) (types.InstantVectorOperator, error)
func TimestampFunctionOperatorFactory ¶
func TimestampFunctionOperatorFactory(args []types.Operator, memoryConsumptionTracker *limiting.MemoryConsumptionTracker, _ *annotations.Annotations, expressionPosition posrange.PositionRange, timeRange types.QueryTimeRange) (types.InstantVectorOperator, error)
Types ¶
type Engine ¶
type Engine struct {
// contains filtered or unexported fields
}
func (*Engine) NewInstantQuery ¶
type EngineOpts ¶
type EngineOpts struct { CommonOpts promql.EngineOpts Features Features // When operating in pedantic mode, we panic if memory consumption is > 0 after Query.Close() // (indicating something was not returned to a pool). Pedantic bool }
func NewTestEngineOpts ¶
func NewTestEngineOpts() EngineOpts
type Features ¶
type Features struct { EnableAggregationOperations bool `yaml:"enable_aggregation_operations" category:"experimental"` EnableBinaryLogicalOperations bool `yaml:"enable_binary_logical_operations" category:"experimental"` EnableOneToManyAndManyToOneBinaryOperations bool `yaml:"enable_one_to_many_and_many_to_one_binary_operations" category:"experimental"` EnableScalars bool `yaml:"enable_scalars" category:"experimental"` EnableScalarScalarBinaryComparisonOperations bool `yaml:"enable_scalar_scalar_binary_comparison_operations" category:"experimental"` EnableSubqueries bool `yaml:"enable_subqueries" category:"experimental"` EnableVectorScalarBinaryComparisonOperations bool `yaml:"enable_vector_scalar_binary_comparison_operations" category:"experimental"` EnableVectorVectorBinaryComparisonOperations bool `yaml:"enable_vector_vector_binary_comparison_operations" category:"experimental"` DisabledAggregations flagext.StringSliceCSV `yaml:"disabled_aggregations" category:"experimental"` DisabledFunctions flagext.StringSliceCSV `yaml:"disabled_functions" category:"experimental"` }
func (*Features) RegisterFlags ¶
type InstantVectorFunctionOperatorFactory ¶
type InstantVectorFunctionOperatorFactory func( args []types.Operator, memoryConsumptionTracker *limiting.MemoryConsumptionTracker, annotations *annotations.Annotations, expressionPosition posrange.PositionRange, timeRange types.QueryTimeRange, ) (types.InstantVectorOperator, error)
func ClampMinMaxFunctionOperatorFactory ¶
func ClampMinMaxFunctionOperatorFactory(functionName string, isMin bool) InstantVectorFunctionOperatorFactory
func FunctionOverRangeVectorOperatorFactory ¶
func FunctionOverRangeVectorOperatorFactory( name string, f functions.FunctionOverRangeVectorDefinition, ) InstantVectorFunctionOperatorFactory
FunctionOverRangeVectorOperatorFactory creates an InstantVectorFunctionOperatorFactory for functions that have exactly 1 argument (v range-vector).
Parameters:
- name: The name of the function
- f: The function implementation
func InstantVectorLabelManipulationFunctionOperatorFactory ¶
func InstantVectorLabelManipulationFunctionOperatorFactory(name string, metadataFunc functions.SeriesMetadataFunctionDefinition) InstantVectorFunctionOperatorFactory
InstantVectorLabelManipulationFunctionOperatorFactory creates an InstantVectorFunctionOperator for functions that have exactly 1 argument (v instant-vector), and need to manipulate the labels of each series without manipulating the returned samples. The values of v are passed through.
Parameters:
- name: The name of the function
- metadataFunc: The function for handling metadata
func InstantVectorTransformationFunctionOperatorFactory ¶
func InstantVectorTransformationFunctionOperatorFactory(name string, seriesDataFunc functions.InstantVectorSeriesFunction) InstantVectorFunctionOperatorFactory
InstantVectorTransformationFunctionOperatorFactory creates an InstantVectorFunctionOperatorFactory for functions that have exactly 1 argument (v instant-vector), and drop the series __name__ label.
Parameters:
- name: The name of the function
- seriesDataFunc: The function to handle series data
func SingleInputVectorFunctionOperatorFactory ¶
func SingleInputVectorFunctionOperatorFactory(name string, f functions.FunctionOverInstantVectorDefinition) InstantVectorFunctionOperatorFactory
SingleInputVectorFunctionOperatorFactory creates an InstantVectorFunctionOperatorFactory for functions that have exactly 1 argument (v instant-vector).
Parameters:
- name: The name of the function
- f: The function implementation
func TimeTransformationFunctionOperatorFactory ¶
func TimeTransformationFunctionOperatorFactory(name string, seriesDataFunc functions.InstantVectorSeriesFunction) InstantVectorFunctionOperatorFactory
type Query ¶
type Query struct {
// contains filtered or unexported fields
}
func (*Query) Stats ¶
func (q *Query) Stats() *stats.Statistics
type QueryLimitsProvider ¶
type QueryLimitsProvider interface { // GetMaxEstimatedMemoryConsumptionPerQuery returns the maximum estimated memory allowed to be consumed by a query in bytes, or 0 to disable the limit. GetMaxEstimatedMemoryConsumptionPerQuery(ctx context.Context) (uint64, error) }
func NewStaticQueryLimitsProvider ¶
func NewStaticQueryLimitsProvider(maxEstimatedMemoryConsumptionPerQuery uint64) QueryLimitsProvider
NewStaticQueryLimitsProvider returns a QueryLimitsProvider that always returns the provided limits.
This should generally only be used in tests.
type ScalarFunctionOperatorFactory ¶
type ScalarFunctionOperatorFactory func( args []types.Operator, memoryConsumptionTracker *limiting.MemoryConsumptionTracker, annotations *annotations.Annotations, expressionPosition posrange.PositionRange, timeRange types.QueryTimeRange, ) (types.ScalarOperator, error)