fix: added promql changes

This commit is contained in:
nikhilmantri0902 2025-08-21 20:50:19 +05:30
parent e5ab664483
commit e8e0f9a9d3
2 changed files with 16 additions and 0 deletions

View File

@ -97,6 +97,14 @@ func PrepareMetricQuery(start, end int64, queryType v3.QueryType, panelType v3.P
}
func BuildPromQuery(promQuery *v3.PromQuery, step, start, end int64) *model.QueryRangeParams {
// Defensive clamp: avoid zero/negative step reaching the PromQL engine
if step <= 0 {
derived := common.MinAllowedStepInterval(start, end)
if derived <= 0 {
derived = 60
}
step = derived
}
return &model.QueryRangeParams{
Query: promQuery.Query,
Start: time.UnixMilli(start),

View File

@ -875,6 +875,14 @@ func ParseQueryRangeParams(r *http.Request) (*v3.QueryRangeParamsV3, *model.ApiE
queryRangeParams.Start = queryRangeParams.End
}
// Ensure a valid, non-zero step for PromQL range queries.
// Some clients may omit the step; Prometheus engine panics if step == 0.
if queryRangeParams.CompositeQuery.QueryType == v3.QueryTypePromQL {
if queryRangeParams.Step <= 0 {
queryRangeParams.Step = common.MinAllowedStepInterval(queryRangeParams.Start, queryRangeParams.End)
}
}
// replace go template variables in clickhouse query
if queryRangeParams.CompositeQuery.QueryType == v3.QueryTypeClickHouseSQL {
for _, chQuery := range queryRangeParams.CompositeQuery.ClickHouseQueries {