From 263ac9fa5a6ece21b743f12160a4cd5d2119581c Mon Sep 17 00:00:00 2001 From: Srikanth Chekuri Date: Wed, 27 Dec 2023 19:25:24 +0530 Subject: [PATCH] fix: ignore timestamp from the subquery result for value panel (#4293) --- pkg/query-service/app/logs/v3/query_builder.go | 10 +++++----- pkg/query-service/app/metrics/v3/query_builder.go | 10 +++++----- pkg/query-service/app/traces/v3/query_builder.go | 10 +++++----- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/pkg/query-service/app/logs/v3/query_builder.go b/pkg/query-service/app/logs/v3/query_builder.go index 53b8be3dc4..6a29397dd6 100644 --- a/pkg/query-service/app/logs/v3/query_builder.go +++ b/pkg/query-service/app/logs/v3/query_builder.go @@ -438,15 +438,15 @@ func reduceQuery(query string, reduceTo v3.ReduceToOperator, aggregateOperator v // chart with just the query value. switch reduceTo { case v3.ReduceToOperatorLast: - query = fmt.Sprintf("SELECT anyLast(value) as value, any(ts) as ts FROM (%s)", query) + query = fmt.Sprintf("SELECT anyLast(value) as value, now() as ts FROM (%s)", query) case v3.ReduceToOperatorSum: - query = fmt.Sprintf("SELECT sum(value) as value, any(ts) as ts FROM (%s)", query) + query = fmt.Sprintf("SELECT sum(value) as value, now() as ts FROM (%s)", query) case v3.ReduceToOperatorAvg: - query = fmt.Sprintf("SELECT avg(value) as value, any(ts) as ts FROM (%s)", query) + query = fmt.Sprintf("SELECT avg(value) as value, now() as ts FROM (%s)", query) case v3.ReduceToOperatorMax: - query = fmt.Sprintf("SELECT max(value) as value, any(ts) as ts FROM (%s)", query) + query = fmt.Sprintf("SELECT max(value) as value, now() as ts FROM (%s)", query) case v3.ReduceToOperatorMin: - query = fmt.Sprintf("SELECT min(value) as value, any(ts) as ts FROM (%s)", query) + query = fmt.Sprintf("SELECT min(value) as value, now() as ts FROM (%s)", query) default: return "", fmt.Errorf("unsupported reduce operator") } diff --git a/pkg/query-service/app/metrics/v3/query_builder.go b/pkg/query-service/app/metrics/v3/query_builder.go index 84ea74c211..ccb4bc0d30 100644 --- a/pkg/query-service/app/metrics/v3/query_builder.go +++ b/pkg/query-service/app/metrics/v3/query_builder.go @@ -427,15 +427,15 @@ func reduceQuery(query string, reduceTo v3.ReduceToOperator, aggregateOperator v // chart with just the query value. For the quer switch reduceTo { case v3.ReduceToOperatorLast: - query = fmt.Sprintf("SELECT *, timestamp AS ts FROM (SELECT anyLastIf(value, toUnixTimestamp(ts) != 0) as value, anyIf(ts, toUnixTimestamp(ts) != 0) AS timestamp %s FROM (%s) %s)", selectLabels, query, groupBy) + query = fmt.Sprintf("SELECT *, now() AS ts FROM (SELECT anyLastIf(value, toUnixTimestamp(ts) != 0) as value, anyIf(ts, toUnixTimestamp(ts) != 0) AS timestamp %s FROM (%s) %s)", selectLabels, query, groupBy) case v3.ReduceToOperatorSum: - query = fmt.Sprintf("SELECT *, timestamp AS ts FROM (SELECT sumIf(value, toUnixTimestamp(ts) != 0) as value, anyIf(ts, toUnixTimestamp(ts) != 0) AS timestamp %s FROM (%s) %s)", selectLabels, query, groupBy) + query = fmt.Sprintf("SELECT *, now() AS ts FROM (SELECT sumIf(value, toUnixTimestamp(ts) != 0) as value, anyIf(ts, toUnixTimestamp(ts) != 0) AS timestamp %s FROM (%s) %s)", selectLabels, query, groupBy) case v3.ReduceToOperatorAvg: - query = fmt.Sprintf("SELECT *, timestamp AS ts FROM (SELECT avgIf(value, toUnixTimestamp(ts) != 0) as value, anyIf(ts, toUnixTimestamp(ts) != 0) AS timestamp %s FROM (%s) %s)", selectLabels, query, groupBy) + query = fmt.Sprintf("SELECT *, now() AS ts FROM (SELECT avgIf(value, toUnixTimestamp(ts) != 0) as value, anyIf(ts, toUnixTimestamp(ts) != 0) AS timestamp %s FROM (%s) %s)", selectLabels, query, groupBy) case v3.ReduceToOperatorMax: - query = fmt.Sprintf("SELECT *, timestamp AS ts FROM (SELECT maxIf(value, toUnixTimestamp(ts) != 0) as value, anyIf(ts, toUnixTimestamp(ts) != 0) AS timestamp %s FROM (%s) %s)", selectLabels, query, groupBy) + query = fmt.Sprintf("SELECT *, now() AS ts FROM (SELECT maxIf(value, toUnixTimestamp(ts) != 0) as value, anyIf(ts, toUnixTimestamp(ts) != 0) AS timestamp %s FROM (%s) %s)", selectLabels, query, groupBy) case v3.ReduceToOperatorMin: - query = fmt.Sprintf("SELECT *, timestamp AS ts FROM (SELECT minIf(value, toUnixTimestamp(ts) != 0) as value, anyIf(ts, toUnixTimestamp(ts) != 0) AS timestamp %s FROM (%s) %s)", selectLabels, query, groupBy) + query = fmt.Sprintf("SELECT *, now() AS ts FROM (SELECT minIf(value, toUnixTimestamp(ts) != 0) as value, anyIf(ts, toUnixTimestamp(ts) != 0) AS timestamp %s FROM (%s) %s)", selectLabels, query, groupBy) default: return "", fmt.Errorf("unsupported reduce operator") } diff --git a/pkg/query-service/app/traces/v3/query_builder.go b/pkg/query-service/app/traces/v3/query_builder.go index 1ffd8d5e3a..8f781b7824 100644 --- a/pkg/query-service/app/traces/v3/query_builder.go +++ b/pkg/query-service/app/traces/v3/query_builder.go @@ -476,15 +476,15 @@ func reduceToQuery(query string, reduceTo v3.ReduceToOperator, aggregateOperator var groupBy string switch reduceTo { case v3.ReduceToOperatorLast: - query = fmt.Sprintf("SELECT anyLast(value) as value, any(ts) as ts FROM (%s) %s", query, groupBy) + query = fmt.Sprintf("SELECT anyLast(value) as value, now() as ts FROM (%s) %s", query, groupBy) case v3.ReduceToOperatorSum: - query = fmt.Sprintf("SELECT sum(value) as value, any(ts) as ts FROM (%s) %s", query, groupBy) + query = fmt.Sprintf("SELECT sum(value) as value, now() as ts FROM (%s) %s", query, groupBy) case v3.ReduceToOperatorAvg: - query = fmt.Sprintf("SELECT avg(value) as value, any(ts) as ts FROM (%s) %s", query, groupBy) + query = fmt.Sprintf("SELECT avg(value) as value, now() as ts FROM (%s) %s", query, groupBy) case v3.ReduceToOperatorMax: - query = fmt.Sprintf("SELECT max(value) as value, any(ts) as ts FROM (%s) %s", query, groupBy) + query = fmt.Sprintf("SELECT max(value) as value, now() as ts FROM (%s) %s", query, groupBy) case v3.ReduceToOperatorMin: - query = fmt.Sprintf("SELECT min(value) as value, any(ts) as ts FROM (%s) %s", query, groupBy) + query = fmt.Sprintf("SELECT min(value) as value, now() as ts FROM (%s) %s", query, groupBy) default: return "", fmt.Errorf("unsupported reduce operator") }