PATTERN Cited by 1 source
Deploy-marker overlay on time-series¶
Problem. A metric changes shape — latency drops, throughput spikes, error rate flips. The operator needs to know "did a recent deploy cause this?" — but the deploy history and the metric graph live in different tools, and correlating timestamps by eye is error-prone.
Solution. Overlay the deploy events on the metric graph itself as vertical annotations keyed on a stable, operator-visible change identifier. Clicking the annotation navigates to the change's approval / execution metadata.
(Source: sources/2026-04-21-planetscale-query-performance-analysis-with-insights.)
Canonical instance: PlanetScale Insights¶
Rafer Hazen, 2023-04-20: on the post-index-add latency
graph "we see a deploy marker on the query latency graph,
labeled #505 — our 505th deploy request to this
database." The marker is the deploy-request number
(concepts/deploy-request) rendered as a vertical
annotation on the per-pattern latency graph at the
moment the deploy took effect.
Structural properties¶
- Keyed on a monotonic integer, not a free-form tag. Deploy-request numbers are unique per database, auto- generated by the deploy-request lifecycle, operator- visible in the dashboard.
- Auto-emitted at deploy time — the marker is a side-effect of the deploy execution, not something the developer has to remember to emit via CI or annotation API.
- Navigable — clicking the marker goes to the deploy request (DDL, approver, state, revert history).
- Per-metric scoped — markers show on the per-pattern latency graph because the pattern's execution is what the deploy affected.
Sister-patterns in non-database change systems¶
Any numbered-change substrate can produce the same overlay:
| Substrate | Marker key |
|---|---|
| PlanetScale deploy-requests | Deploy-request #N |
| GitHub pull-requests | PR #N |
| CI build pipelines | Build ID |
| Kubernetes deployments | Deployment generation |
| Terraform runs | Plan ID |
| Cloudflare Workers | Release UUID |
The load-bearing constraint is the stable integer
identifier backed by a durable change record. Free-form
tags (release:prod-2023-04-20) drift and collide.
Signal-quality consequences¶
- Step-down after deploy → the deploy helped. If you
shipped an index fix like PlanetScale's example, you see
the pattern latency drop to near-zero after
#505. - Step-up after deploy → the deploy regressed the pattern. First suspect for a p95 spike.
- No step → the deploy didn't touch this pattern.
- Multiple markers in a window → which one caused the change? The deploy-request metadata (diff, affected tables) narrows the candidates.
Release-markers turn a change-causation question into a one-glance visual answer.
Seen in¶
- sources/2026-04-21-planetscale-query-performance-analysis-with-insights
— canonical wiki disclosure. Hazen's worked example fixes
a DELETE-LIMIT antipattern with an index, then points at
the
#505deploy marker on the latency graph as the one-glance confirmation that the fix landed and took effect. Earliest wiki instance of the deploy-marker pattern surfaced on a per-query-pattern time-series rather than a cluster-wide / service-wide metric.