Deploys and verdicts

How deploys reach Apperio and how each one is judged Healthy, Improved or Degraded.

How deploys reach Apperio

SourceWhat you doGets a verdict
GitHub deploymentsNothing, once the GitHub App is installed and the repository linked. Deployments of other branches are skipped.Yes, once GitHub reports the deployment succeeded
GitHub releasesNothing. Published releases appear as Release <tag>.No, a release is a version label, not a deploy
Deployments APICall it from your CI job after each deploy.Yes

Hosts that create GitHub deployments for your repository, such as Vercel, are picked up this way with no extra work. For anything else, use the deployments API. Use one source per deploy, or the same deploy is counted twice.

Verdicts

A verdict answers one question: did errors go up after this deploy? Apperio compares the hour before the deploy with the hour after it. For each hour it counts all logs and the logs at level error or fatal, and works out the error rate: errors divided by all logs.

The rules

VerdictWhen
DegradedThe error rate rose by more than 25%, with at least 5 errors in the hour after.
ImprovedThe error rate fell by more than 25%, with at least 5 errors in the hour before.
HealthyAnything in between.
No verdict yetEither hour had fewer than 10 logs, so there isn’t enough traffic to judge.

One exception to the traffic rule: if the hour before had some logs and no errors, and the hour after has 5 or more errors, the deploy is Degraded even with little traffic. A deploy with no logs at all in the hour before it (often a project’s first deploy) has nothing to compare with, so it stays without a verdict.

Only logs from the deploy’s environment count. If neither hour has logs with that environment name, Apperio uses all of the project’s logs instead. Logs are placed in an hour by when Apperio received them.

When the verdict appears

The hour after a deploy has to pass first. The next time someone opens the project’s overview page after that, Apperio works out the verdict and saves it, and from then on it shows everywhere. It doesn’t change afterwards. Failed deploys are marked failed and don’t get a verdict.

Where you see them

  • Changes › Deploys: each deploy, its verdict, and the change in error rate, for example Error rate +40.0% in the hour after.
  • Project overview: the Deploy Impact card.
  • Errors, Performance and Activity: deploy markers on the time charts. The Errors chart counts errors per hour, so its markers sit on the hour each deploy happened in.

Getting useful verdicts

  1. Set environment on the SDK to the same name your deploys use, such as production. See Environments and releases.
  2. Record each deploy once, when it is live, not when the build starts.
  3. Expect No verdict yet on quiet sites. A verdict needs at least 10 logs on each side of the deploy.

What a verdict can’t tell you

A verdict compares error rates. A slower page or a broken flow that throws no errors won’t show up in it. If background errors are common on your site, a new bug can also stay inside the 25% band and read Healthy.