diff --git a/checks/metrics.go b/checks/metrics.go index 2e36f08c3..710132b38 100644 --- a/checks/metrics.go +++ b/checks/metrics.go @@ -82,7 +82,7 @@ func getLabelString(labels map[string]string) string { return s } -func ExportCheckMetrics(ctx *context.Context, results pkg.Results) { +func ExportCheckMetrics(ctx *context.Context, results pkg.Results, exportResultMetrics bool) { if len(results) == 0 { return } @@ -90,8 +90,10 @@ func ExportCheckMetrics(ctx *context.Context, results pkg.Results) { for _, r := range results { checkCtx := ctx.WithCheckResult(r) for _, metric := range r.Metrics { - if err := exportMetric(checkCtx, metric); err != nil { - r.ErrorMessage(err) + if exportResultMetrics { + if err := exportMetric(checkCtx, metric); err != nil { + r.ErrorMessage(err) + } } } for _, spec := range r.Check.GetMetricsSpec() { diff --git a/checks/runchecks.go b/checks/runchecks.go index 53ed33d35..f6eb644bc 100644 --- a/checks/runchecks.go +++ b/checks/runchecks.go @@ -59,7 +59,7 @@ func getDisabledChecks(ctx *context.Context) (map[string]struct{}, error) { return result, nil } -// Exec runs the actions specified and returns the results, without exporting any metrics +// Exec runs the actions specified and returns the results, without saving artifacts func Exec(ctx *context.Context) ([]*pkg.CheckResult, error) { var results []*pkg.CheckResult disabledChecks, err := getDisabledChecks(ctx) @@ -84,6 +84,7 @@ func Exec(ctx *context.Context) ([]*pkg.CheckResult, error) { result := c.Run(ctx) transformedResults := TransformResults(ctx, result) results = append(results, transformedResults...) + ExportCheckMetrics(ctx, transformedResults, false) } return results, nil } @@ -126,7 +127,7 @@ func RunChecks(ctx *context.Context) ([]*pkg.CheckResult, error) { result := c.Run(ctx) transformedResults := TransformResults(ctx, result) results = append(results, transformedResults...) - ExportCheckMetrics(ctx, transformedResults) + ExportCheckMetrics(ctx, transformedResults, true) } if err := saveArtifacts(ctx, results); err != nil { diff --git a/pkg/api/webhook.go b/pkg/api/webhook.go index 94b9430df..78088fcad 100644 --- a/pkg/api/webhook.go +++ b/pkg/api/webhook.go @@ -97,7 +97,7 @@ func webhookHandler(ctx dutyContext.Context, id, authToken string, data CheckDat scrapeCtx := context.New(ctx, *canary) transformedResults := checks.TransformResults(scrapeCtx, results) - checks.ExportCheckMetrics(scrapeCtx, transformedResults) + checks.ExportCheckMetrics(scrapeCtx, transformedResults, true) for _, result := range transformedResults { _, err := cache.PostgresCache.Add(ctx, pkg.FromV1(result.Canary, result.Check), pkg.CheckStatusFromResult(*result)) if err != nil {