Skip to content

Blog

A metric without a red line is decoration

The weekly Performance Monitor in the software-factory.dev factory works because every metric it watches has a hard threshold written into it.

Written by

Measuring AI impact

Published: 25 August 2026 Updated: 2 min read

“Monitor performance” is one of those instructions that sounds like a task and is a wish. The factory built in public at software-factory.dev has an automation that turns the wish into three numbers and a rule.

It is the Performance Monitor. Once a week it checks whether the live product is healthy.

Three checks every Monday

The trigger is one cron line: 0 10 * * 1. Monday, 10am.

It runs three checks:

  1. It calls the health endpoint and parses the JSON, looking at database latency and connection state.
  2. It pulls the error count from production error monitoring and compares this week against last.
  3. It builds the app and measures the gzipped JavaScript shipped to the browser, route by route.

Each check ends in a written report with a status line, a trend arrow, and a table of bundle sizes per route.

Red lines instead of judgement

What makes it work is that none of those checks are left to judgement. They have explicit red lines, not vibes:

  • Database latency over 500 milliseconds gets flagged.
  • An error count up more than 50 percent week over week gets flagged.
  • Any single route over 200 kilobytes gzipped gets flagged.

If a metric goes critical, the automation files a priority-1 issue with the current value, the threshold, and suggested investigation steps.

Read the measured number

The one detail worth copying is smaller and easy to miss. The automation is told not to estimate bundle size from the build console output. It must read the measured number from the bundle test instead, because the two are computed differently and will not agree. A monitor that reads the wrong number is worse than no monitor. It reports green while the truth is red.

A gauge needs a threshold

This is the whole lesson of running a factory floor. A gauge is not a gauge until it has a red line. Until then it is decoration, a number no one acts on. The value is not in measuring. It is in the threshold that forces a decision.

You can read the whole automation in the Performance Monitor definition on GitHub (opens in a new tab).

Pick one number your team watches every week. Does it have a written line that, once crossed, makes someone do something, or is it just a number on a dashboard?

Further reading

  1. An automation that audits the factory must not rewrite its own record The automation auditor in the software-factory.dev factory inspects every other automation on the line. Its most useful rule: it may never overwrite last week's audit. 2 min read
  2. An automated status report is only as honest as its prompt The weekly recap automation in the software-factory.dev factory stays honest because the honesty is written into its prompt: the challenges section is what makes it authentic, and an unrecorded number has to be named as unrecorded. 2 min read

All 18 parts

ClientsClient work

Scaling needs named owners

Coding agents scale across teams when named people own the platform, the team practice, the guardrails, and the measurement. Rollout & scale is where that ownership is built and handed to internal owners, in your stack.

Training on this topic: Agentic Engineering for Engineering and Product Leaders
See Rollout & scale

Want to check one team first? The self-check: twelve yes or no questions, three minutes, instant result, no account. Take the self-check