|
|
@ -28,6 +28,7 @@ import ( |
|
|
|
"github.com/prometheus/common/model" |
|
|
|
"github.com/prometheus/common/model" |
|
|
|
"go.opentelemetry.io/otel" |
|
|
|
"go.opentelemetry.io/otel" |
|
|
|
"go.opentelemetry.io/otel/attribute" |
|
|
|
"go.opentelemetry.io/otel/attribute" |
|
|
|
|
|
|
|
"go.opentelemetry.io/otel/codes" |
|
|
|
|
|
|
|
|
|
|
|
"github.com/prometheus/prometheus/model/labels" |
|
|
|
"github.com/prometheus/prometheus/model/labels" |
|
|
|
"github.com/prometheus/prometheus/model/rulefmt" |
|
|
|
"github.com/prometheus/prometheus/model/rulefmt" |
|
|
@ -624,6 +625,7 @@ func (g *Group) Eval(ctx context.Context, ts time.Time) { |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|
rule.SetHealth(HealthBad) |
|
|
|
rule.SetHealth(HealthBad) |
|
|
|
rule.SetLastError(err) |
|
|
|
rule.SetLastError(err) |
|
|
|
|
|
|
|
sp.SetStatus(codes.Error, err.Error()) |
|
|
|
g.metrics.EvalFailures.WithLabelValues(GroupKey(g.File(), g.Name())).Inc() |
|
|
|
g.metrics.EvalFailures.WithLabelValues(GroupKey(g.File(), g.Name())).Inc() |
|
|
|
|
|
|
|
|
|
|
|
// Canceled queries are intentional termination of queries. This normally
|
|
|
|
// Canceled queries are intentional termination of queries. This normally
|
|
|
@ -651,6 +653,7 @@ func (g *Group) Eval(ctx context.Context, ts time.Time) { |
|
|
|
if err := app.Commit(); err != nil { |
|
|
|
if err := app.Commit(); err != nil { |
|
|
|
rule.SetHealth(HealthBad) |
|
|
|
rule.SetHealth(HealthBad) |
|
|
|
rule.SetLastError(err) |
|
|
|
rule.SetLastError(err) |
|
|
|
|
|
|
|
sp.SetStatus(codes.Error, err.Error()) |
|
|
|
g.metrics.EvalFailures.WithLabelValues(GroupKey(g.File(), g.Name())).Inc() |
|
|
|
g.metrics.EvalFailures.WithLabelValues(GroupKey(g.File(), g.Name())).Inc() |
|
|
|
|
|
|
|
|
|
|
|
level.Warn(g.logger).Log("name", rule.Name(), "index", i, "msg", "Rule sample appending failed", "err", err) |
|
|
|
level.Warn(g.logger).Log("name", rule.Name(), "index", i, "msg", "Rule sample appending failed", "err", err) |
|
|
@ -663,6 +666,7 @@ func (g *Group) Eval(ctx context.Context, ts time.Time) { |
|
|
|
if _, err := app.Append(0, s.Metric, s.T, s.V); err != nil { |
|
|
|
if _, err := app.Append(0, s.Metric, s.T, s.V); err != nil { |
|
|
|
rule.SetHealth(HealthBad) |
|
|
|
rule.SetHealth(HealthBad) |
|
|
|
rule.SetLastError(err) |
|
|
|
rule.SetLastError(err) |
|
|
|
|
|
|
|
sp.SetStatus(codes.Error, err.Error()) |
|
|
|
|
|
|
|
|
|
|
|
switch errors.Cause(err) { |
|
|
|
switch errors.Cause(err) { |
|
|
|
case storage.ErrOutOfOrderSample: |
|
|
|
case storage.ErrOutOfOrderSample: |
|
|
|