Class TranslatePromqlToTimeSeriesAggregate
java.lang.Object
org.elasticsearch.xpack.esql.rule.Rule<PromqlCommand,LogicalPlan>
org.elasticsearch.xpack.esql.optimizer.rules.logical.OptimizerRules.OptimizerRule<PromqlCommand>
org.elasticsearch.xpack.esql.optimizer.rules.logical.promql.TranslatePromqlToTimeSeriesAggregate
public final class TranslatePromqlToTimeSeriesAggregate
extends OptimizerRules.OptimizerRule<PromqlCommand>
Translates PromQL logical plans into ESQL TimeSeriesAggregate nodes.
This rule runs before
TranslateTimeSeriesAggregate to convert PromQL-specific
plans (WithinSeriesAggregate, AcrossSeriesAggregate) into standard ESQL TimeSeriesAggregate
nodes that can then be further optimized by the existing time-series translation pipeline.
Translation examples:
PromQL: rate(http_requests[5m])
PromQL Plan:
WithinSeriesAggregate(name="rate")
└── RangeSelector(http_requests, range=5m)
Translated to:
TimeSeriesAggregate(groupBy=[_tsid], aggs=[rate(value, @timestamp)])
└── Filter(__name__ == "http_requests")
└── EsRelation(*, mode=TIME_SERIES)
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class org.elasticsearch.xpack.esql.optimizer.rules.logical.OptimizerRules.OptimizerRule
apply
-
Field Details
-
DEFAULT_LOOKBACK
-
-
Constructor Details
-
TranslatePromqlToTimeSeriesAggregate
public TranslatePromqlToTimeSeriesAggregate()
-
-
Method Details
-
rule
- Specified by:
rulein classOptimizerRules.OptimizerRule<PromqlCommand>
-