The plan's minute, from Azure to the card
Pinch or Ctrl+scroll to zoom; the text is selectable.
Source
·
TheYard
The plan's minute: Azure Monitor read once a minute by PlanRecorder on the SQL site, kept in the plan container in Cosmos DB for thirty-one days, served by GET /api/admin/plan from the kept copy, and drawn by the plan card
The plan's minute, from Azure to the card
One reading a minute, written by one site and kept a month; the card reads the kept copy, and Azure is asked again only when that copy is stale.
Azure Monitor
PLAN-THEYARD-SS, B2
CPU, memory, the HTTP and disk
queues, bytes, outbound sockets;
each app's CPU time, working set,
requests and errors. The Activity
Log and the apps' state hourly.
PlanRecorder
the SQL site only
Reads the last five minutes once a
minute, so a minute Azure reported
late is caught; stamps each with the
build it ran, which is where the
deploy marks come from.
Cosmos DB, plan container
/day, 2,678,400 s to live
One document a minute and one an
hour, partitioned on the UTC day,
expired by the container thirty-one
days on, so it is its own retention.
The plan card
GET /api/admin/plan
24h, 7d or 30d from the kept copy,
cached a minute: two dials, the
month with deploys and Azure's
events on one line, four questions,
a readout. Asked every 30 s.
a minute
upsert
read
only when the newest kept minute ended more than sixty seconds ago: one read, then the kept copy again
Source: docs/images/plan-minute.svg in the repository, drawn by hand (ADR: The App Service plan, read every minute).