Command center

BlockPro

Operations at a glance: service health worst-first, open incidents by severity, capacity meters, a filterable log stream, and a command palette for every action an operator reaches for.

Command center

What is up, what is not, and what to do about it. Updated .

Primary database is down, and Read replica degraded.
8 services watched, 3 open incidents.

Services

Worst first.

  • Primary database

    us-east-199.91% uptime

    Outage
  • Read replica

    eu-west-199.95% uptimep95 640 ms

    Degraded
  • Job runner

    us-east-199.97% uptime

    Maintenance
  • API

    us-east-199.99% uptimep95 118 ms

    Operational
  • CDN

    global100% uptimep95 18 ms

    Operational
  • Email delivery

    global99.99% uptime

    Operational
  • Search

    global100% uptimep95 42 ms

    Operational
  • Web app

    global99.98% uptimep95 210 ms

    Operational

Recent logs

Filter by text or level. New lines are not read aloud unless you ask.

Recent logs
Following

240 of 240 lines

infoGET /api/orders 200 in 34ms
warnReplication lag 4.2s
errorWrite failed: connection refused
infoFailover step 3/5: promoting replica
debugPool size 32, idle 4
infoPOST /api/checkout 503 in 1201ms
errorCheckout: payment intent not persisted
infoHealth check passed for search
infoGET /api/orders 200 in 34ms
warnReplication lag 4.2s
errorWrite failed: connection refused
infoFailover step 3/5: promoting replica
debugPool size 32, idle 4
infoPOST /api/checkout 503 in 1201ms
errorCheckout: payment intent not persisted
infoHealth check passed for search
infoGET /api/orders 200 in 34ms
warnReplication lag 4.2s
errorWrite failed: connection refused
infoFailover step 3/5: promoting replica
debugPool size 32, idle 4
infoPOST /api/checkout 503 in 1201ms
errorCheckout: payment intent not persisted
infoHealth check passed for search
infoGET /api/orders 200 in 34ms

Incidents

Open ones first, most severe at the top.

  • critical

    Primary database unreachable

    Investigating

    Automatic failover has not completed. Writes are failing; reads are served from the replica.

    Started

  • Replication lag from the failover in progress.

    Started

  • minor

    Checkout error rate above 1%

    Monitoring

    Started

  • major

    Slow image uploads

    Resolved

    Started

Capacity

How much room is left.

Compute

62% of 100%

  • Used62%
Memory

81% of 100%

  • Used81%
Storage

1780 GB of 2000 GB

  • Used1780 GB
Database connections

412 of 500

  • Used412

A still, rendered at build time from the same story the tests run. The block itself is interactive; the copy that runs is the one the CLI installs.

Installation

The block is written to your blocks directory, and everything it is built from is installed alongside it. This one needs a licence: sign in once with the CLI and the install is the same command.

Terminal
pnpm dlx @dowel-ui/cli add command-center

Built from

A block is not a black box. Every piece is a component you already have documentation for, and can change independently.

Props

CommandCenterBlock

PropTypeDefault
services (required)CommandCenterService[]
actions

What the command palette offers. Empty means no palette.

CommandCenterAction[][]
capacityCommandCenterCapacity[][]
descriptionstring"What is up, what is not, and what to do about it."
headerActionsReactNode
incidentsCommandCenterIncident[][]
logs

Recent log lines, newest last.

LogLine[][]
logsLabelstring"Recent logs"
onDownloadLogs() => void
titlestring"Command center"
updatedAt

Machine-readable time of the last refresh.

string
updatedLabel

Human label for it, e.g. "10 seconds ago".

string
classNamestring

Accessibility

The overall status is one sentence computed from the worst service, and it comes first — 'one service is down' rather than a wall of tiles to scan. It is not a live region: the page is refreshed by the application, and a status that re-announces on every poll is one nobody can work beside. Health and severity are words on every row, sorted on, with colour agreeing rather than replacing. ⌘K opens the palette but the Actions button is always visible, so the shortcut is an accelerator and not the only way in. New log lines are not read aloud unless asked.

Source

One file, written by dowel add command-center with imports rewritten to your own path alias, and yours to edit from then on.

This is a Pro block.

The preview is the real block, rendered from its own story — a still of it, not a copy of it. The source is installed by the CLI once this machine is signed in with a licence key — dowel login checks the key against the registry before storing it — and lands in your project as a file you own, exactly like a free block.

Registry name: command-center