{
  "id": 19864479,
  "title": "My CI perf budget failed twice on changes that couldn't be slower",
  "url": "https://urgent.news/2026/11/13/my-ci-perf-budget-failed-twice-on-changes-that-couldnt-be-slower",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-11-13T20:57:56.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/xgame92/my-ci-perf-budget-failed-twice-on-changes-that-couldnt-be-slower-3fe2"
  },
  "original_language": "en",
  "account": "The performance budget for a software application failed on changes that couldn't have made it slower. Despite the budget being in place, a red build turned green when runners were clicked. The author kept the budget and measured various aspects of the app, including opening a large workspace and propagating edits between two browsers. The app recorded user timing marks when the issue list was shown and propagated edits in real-time.\n\nThe budgets were set based on median times from five runs, with a median value being over the budget triggering a failure. Machine probes were added to identify when runner noise caused failures. The probe tracked CPU stalls and disk write delays and noted them in the results.\n\nThe edit test initially timed the handshake, but was modified to wait for the sync badge to say 'Live' before starting the clock. This change, along with the machine probe, helped identify when runner issues were causing failures. The budgets were set to ensure instant feel for reopening a large workspace and seeing someone else's edit, with a looser budget for propagation since runner noise dominated it.",
  "summary": "The perf job failed on a change that couldn't have made anything slower. I reran it and it passed. It happened again on the next one. That is the moment a performance budget stops being useful: nobody trusts a red build that goes green when you click \"re-run\". I could have loosened the budget. Instead I kept it and made each number say whether the app or the machine was slow. This is how the…",
  "key_points": [
    "Performance budget failed for changes that couldn't be slower",
    "Budget based on median times from five runs",
    "Machine probes tracked runner noise causing failures"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}