SSE: Reduce to add warning notice to only the first result (#74940)

This commit is contained in:
Yuri Tseretyan
2023-09-15 11:07:17 -04:00
committed by GitHub
parent 9328fda8ea
commit 40c12c17bf
2 changed files with 7 additions and 7 deletions

View File

@ -166,7 +166,7 @@ func (gr *ReduceCommand) Execute(ctx context.Context, _ time.Time, vars mathexp.
span.SetAttributes("reducer", gr.Reducer, attribute.Key("reducer").String(gr.Reducer))
newRes := mathexp.Results{}
for _, val := range vars[gr.VarToReduce].Values {
for i, val := range vars[gr.VarToReduce].Values {
switch v := val.(type) {
case mathexp.Series:
num, err := v.Reduce(gr.refID, gr.Reducer, gr.seriesMapper)
@ -184,7 +184,7 @@ func (gr *ReduceCommand) Execute(ctx context.Context, _ time.Time, vars mathexp.
}
copyV := mathexp.NewNumber(gr.refID, v.GetLabels())
copyV.SetValue(value)
if gr.seriesMapper == nil {
if gr.seriesMapper == nil && i == 0 { // Add notice to only the first result to not multiple them in presentation
copyV.AddNotice(data.Notice{
Severity: data.NoticeSeverityWarning,
Text: fmt.Sprintf("Reduce operation is not needed. Input query or expression %s is already reduced data.", gr.VarToReduce),