mirror of
https://github.com/SigNoz/signoz.git
synced 2026-03-17 18:32:11 +00:00
Some checks failed
build-staging / prepare (push) Has been cancelled
build-staging / js-build (push) Has been cancelled
build-staging / go-build (push) Has been cancelled
build-staging / staging (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
* chore: upgrade prometheus/common to latest available version * chore: upgrade prometheus/prometheus to latest available version * chore: easy changes first * chore: slightly unsure changes * fix: correct imported version of semconv in sdk.go * test: ut fix, just matched expected and actual nothing else * test: ut fix, just matched expected and actual nothing else * test: ut fix, just matched expected and actual nothing else * test: ut fix, just matched expected and actual nothing else * test: ut fix, pass no nil prometheus registry * chore: upgrade go version in dockerfile to 1.25 * chore: no need for our own alert store callback * chore: 1.25 bullseye is still an rc so shifting to bookworm * fix: parallel calls for each query in readmultiple method * chore: remove unused var * Sync PagerDuty frontend defaults with Alertmanager v0.31 Applied via @cursor push command * chore: make ctx the first param --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com>
38 lines
923 B
Go
38 lines
923 B
Go
package prometheus
|
|
|
|
import (
|
|
"github.com/SigNoz/signoz/pkg/errors"
|
|
"github.com/prometheus/prometheus/model/labels"
|
|
"github.com/prometheus/prometheus/promql"
|
|
)
|
|
|
|
func RemoveExtraLabels(res *promql.Result, labelsToRemove ...string) error {
|
|
if len(labelsToRemove) == 0 || res == nil {
|
|
return nil
|
|
}
|
|
|
|
switch res.Value.(type) {
|
|
case promql.Vector:
|
|
value := res.Value.(promql.Vector)
|
|
for i := range value {
|
|
b := labels.NewBuilder(value[i].Metric)
|
|
b.Del(labelsToRemove...)
|
|
newLabels := b.Labels()
|
|
value[i].Metric = newLabels
|
|
}
|
|
case promql.Matrix:
|
|
value := res.Value.(promql.Matrix)
|
|
for i := range value {
|
|
b := labels.NewBuilder(value[i].Metric)
|
|
b.Del(labelsToRemove...)
|
|
newLabels := b.Labels()
|
|
value[i].Metric = newLabels
|
|
}
|
|
case promql.Scalar:
|
|
return nil
|
|
default:
|
|
return errors.NewInternalf(errors.CodeInternal, "rule result is not a vector or scalar or matrix")
|
|
}
|
|
return nil
|
|
}
|