Problem
Running a canary only helps if someone interprets the dashboards correctly and quickly. Manual judgement is slow, subjective and inconsistent, and subtle regressions slip through while fatigue sets in.
Also known as: automated-canary-analysis, canary-judgement, ACA
Automatically compare metrics of a canary release against a baseline to decide whether to promote or roll back.
Running a canary only helps if someone interprets the dashboards correctly and quickly. Manual judgement is slow, subjective and inconsistent, and subtle regressions slip through while fatigue sets in.
Canary analysis automates the verdict on a canary release. Systems such as Kayenta (Spinnaker) and Flagger compare canary metrics with a baseline and return a score, turning a judgement call into a pipeline step.
Three groups run side by side: production, a new baseline built from the current version, and the canary built from the candidate. Comparing canary to a fresh baseline, rather than to long-running production, removes warm-up and age effects.
traffic 5% --> canary (v2) \
traffic 5% --> baseline (v1) / compare for 30 min
rest --> production (v1)
score = weighted pass rate of metrics
score >= 90 pass | 75-90 inconclusive | below 75 fail
Each metric is tagged by direction (lower is better for errors and latency) and criticality. A critical metric failing fails the whole run regardless of overall score.
Medium - baseline and canary instances plus metrics backend
Medium - tuning judge configs per service
High - statistical reasoning about metric selection
Metric set omits the one signal that regresses
Comparison against long-running production creates false differences from warm caches
Inconclusive results are treated as passes