mirror of
https://github.com/SigNoz/signoz.git
synced 2025-12-17 15:36:48 +00:00
fix(meter): meter where clause keys fix (#8833)
This commit is contained in:
parent
5a7ad670d8
commit
59d5accd33
@ -75,8 +75,9 @@ func (b *meterQueryStatementBuilder) buildPipelineStatement(
|
|||||||
|
|
||||||
if b.metricsStatementBuilder.CanShortCircuitDelta(query) {
|
if b.metricsStatementBuilder.CanShortCircuitDelta(query) {
|
||||||
// spatial_aggregation_cte directly for certain delta queries
|
// spatial_aggregation_cte directly for certain delta queries
|
||||||
frag, args := b.buildTemporalAggDeltaFastPath(ctx, start, end, query, keys, variables)
|
if frag, args, err := b.buildTemporalAggDeltaFastPath(ctx, start, end, query, keys, variables); err != nil {
|
||||||
if frag != "" {
|
return nil, err
|
||||||
|
} else if frag != "" {
|
||||||
cteFragments = append(cteFragments, frag)
|
cteFragments = append(cteFragments, frag)
|
||||||
cteArgs = append(cteArgs, args)
|
cteArgs = append(cteArgs, args)
|
||||||
}
|
}
|
||||||
@ -107,7 +108,7 @@ func (b *meterQueryStatementBuilder) buildTemporalAggDeltaFastPath(
|
|||||||
query qbtypes.QueryBuilderQuery[qbtypes.MetricAggregation],
|
query qbtypes.QueryBuilderQuery[qbtypes.MetricAggregation],
|
||||||
keys map[string][]*telemetrytypes.TelemetryFieldKey,
|
keys map[string][]*telemetrytypes.TelemetryFieldKey,
|
||||||
variables map[string]qbtypes.VariableItem,
|
variables map[string]qbtypes.VariableItem,
|
||||||
) (string, []any) {
|
) (string, []any, error) {
|
||||||
var filterWhere *querybuilder.PreparedWhereClause
|
var filterWhere *querybuilder.PreparedWhereClause
|
||||||
var err error
|
var err error
|
||||||
stepSec := int64(query.StepInterval.Seconds())
|
stepSec := int64(query.StepInterval.Seconds())
|
||||||
@ -121,7 +122,7 @@ func (b *meterQueryStatementBuilder) buildTemporalAggDeltaFastPath(
|
|||||||
for _, g := range query.GroupBy {
|
for _, g := range query.GroupBy {
|
||||||
col, err := b.fm.ColumnExpressionFor(ctx, &g.TelemetryFieldKey, keys)
|
col, err := b.fm.ColumnExpressionFor(ctx, &g.TelemetryFieldKey, keys)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", []any{}
|
return "", []any{}, err
|
||||||
}
|
}
|
||||||
sb.SelectMore(col)
|
sb.SelectMore(col)
|
||||||
}
|
}
|
||||||
@ -149,7 +150,7 @@ func (b *meterQueryStatementBuilder) buildTemporalAggDeltaFastPath(
|
|||||||
Variables: variables,
|
Variables: variables,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", []any{}
|
return "", []any{}, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if filterWhere != nil {
|
if filterWhere != nil {
|
||||||
@ -163,7 +164,7 @@ func (b *meterQueryStatementBuilder) buildTemporalAggDeltaFastPath(
|
|||||||
sb.GroupBy(querybuilder.GroupByKeys(query.GroupBy)...)
|
sb.GroupBy(querybuilder.GroupByKeys(query.GroupBy)...)
|
||||||
|
|
||||||
q, args := sb.BuildWithFlavor(sqlbuilder.ClickHouse)
|
q, args := sb.BuildWithFlavor(sqlbuilder.ClickHouse)
|
||||||
return fmt.Sprintf("__spatial_aggregation_cte AS (%s)", q), args
|
return fmt.Sprintf("__spatial_aggregation_cte AS (%s)", q), args, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (b *meterQueryStatementBuilder) buildTemporalAggregationCTE(
|
func (b *meterQueryStatementBuilder) buildTemporalAggregationCTE(
|
||||||
|
|||||||
@ -114,6 +114,7 @@ func GetKeySelectors(query qbtypes.QueryBuilderQuery[qbtypes.MetricAggregation])
|
|||||||
keySelectors[idx].MetricContext = &telemetrytypes.MetricContext{
|
keySelectors[idx].MetricContext = &telemetrytypes.MetricContext{
|
||||||
MetricName: query.Aggregations[0].MetricName,
|
MetricName: query.Aggregations[0].MetricName,
|
||||||
}
|
}
|
||||||
|
keySelectors[idx].Source = query.Source
|
||||||
}
|
}
|
||||||
return keySelectors
|
return keySelectors
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user