mirror of
https://github.com/prometheus/prometheus.git
synced 2025-03-05 20:59:13 -08:00
Use a function to determine if an aggregation function is experimental (#15331)
Signed-off-by: Jeanette Tan <jeanette.tan@grafana.com>
This commit is contained in:
parent
789c9b1a5e
commit
e13c28bd4a
|
@ -68,6 +68,12 @@ func (i ItemType) IsAggregatorWithParam() bool {
|
||||||
return i == TOPK || i == BOTTOMK || i == COUNT_VALUES || i == QUANTILE || i == LIMITK || i == LIMIT_RATIO
|
return i == TOPK || i == BOTTOMK || i == COUNT_VALUES || i == QUANTILE || i == LIMITK || i == LIMIT_RATIO
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IsExperimentalAggregator defines the experimental aggregation functions that are controlled
|
||||||
|
// with EnableExperimentalFunctions.
|
||||||
|
func (i ItemType) IsExperimentalAggregator() bool {
|
||||||
|
return i == LIMITK || i == LIMIT_RATIO
|
||||||
|
}
|
||||||
|
|
||||||
// IsKeyword returns true if the Item corresponds to a keyword.
|
// IsKeyword returns true if the Item corresponds to a keyword.
|
||||||
// Returns false otherwise.
|
// Returns false otherwise.
|
||||||
func (i ItemType) IsKeyword() bool { return i > keywordsStart && i < keywordsEnd }
|
func (i ItemType) IsKeyword() bool { return i > keywordsStart && i < keywordsEnd }
|
||||||
|
|
|
@ -447,8 +447,8 @@ func (p *parser) newAggregateExpr(op Item, modifier, args Node) (ret *AggregateE
|
||||||
|
|
||||||
desiredArgs := 1
|
desiredArgs := 1
|
||||||
if ret.Op.IsAggregatorWithParam() {
|
if ret.Op.IsAggregatorWithParam() {
|
||||||
if !EnableExperimentalFunctions && (ret.Op == LIMITK || ret.Op == LIMIT_RATIO) {
|
if !EnableExperimentalFunctions && ret.Op.IsExperimentalAggregator() {
|
||||||
p.addParseErrf(ret.PositionRange(), "limitk() and limit_ratio() are experimental and must be enabled with --enable-feature=promql-experimental-functions")
|
p.addParseErrf(ret.PositionRange(), "%s() is experimental and must be enabled with --enable-feature=promql-experimental-functions", ret.Op)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
desiredArgs = 2
|
desiredArgs = 2
|
||||||
|
|
Loading…
Reference in a new issue