docs: Publish the performance targets and measurements document - #382
Draft
turbobobbytraykov wants to merge 1 commit into
Draft
docs: Publish the performance targets and measurements document#382turbobobbytraykov wants to merge 1 commit into
turbobobbytraykov wants to merge 1 commit into
Conversation
Records the enforced bundle size budgets, the measured values behind them, the runtime targets that are published but not yet measured per release, and the rule that raising a budget must be recorded rather than silent. Notes that every release publishes its measured sizes against budget in the workflow run summary.
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The new document claims and links to enforcement machinery under eng/ that is not present in this PR (broken links + “enforced today” wording becomes incorrect when published standalone).
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Publishes a performance budget/targets document for IgniteUI.Blazor.Lite and surfaces it from the repo’s primary documentation (README + changelog), so bundle-size/regression expectations are discoverable and reviewable.
Changes:
- Add
docs/performance.mddocumenting scope, bundle-size budgets, runtime targets, and local reproduction steps. - Link the new performance document from
README.md. - Add a changelog entry announcing the published performance budget/targets document.
File summaries
| File | Description |
|---|---|
| README.md | Adds a new “Performance” section linking to the published performance budget/targets doc. |
| docs/performance.md | Introduces the performance targets and size budgets document (tables + guidance). |
| CHANGELOG.md | Records publication of the performance document in the Unreleased “Added” section. |
Review details
Suppressed comments (1)
docs/performance.md:52
- This sentence states that the bundle-size budget is “enforced today”, but in this PR there is no
eng/enforcement script/budgets present. To avoid the doc becoming incorrect when published without the enforcement PR, make this statement conditional/neutral (or explicitly refer back to the earlier caveat).
**These runtime targets are published but not yet measured per release.** The bundle-size half of this budget is enforced today; the timing harness that produces the runtime half is tracked separately and lands with the accessibility automation. Until it does, treat the table above as the committed target and the absence of a recorded measurement as a known gap rather than a passing result.
- Files reviewed: 3/3 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+5
to
+7
| Budgets are enforced, not aspirational: [`eng/bundle-budgets.json`](../eng/bundle-budgets.json) holds the numbers and [`eng/Check-BundleBudget.ps1`](../eng/Check-BundleBudget.ps1) fails the release when an asset exceeds one. The `evidence` job of the release workflow runs that check against the assets that were actually built and attaches `performance-report.md` and `performance-report.json` to the GitHub release. | ||
|
|
||
| Every release also publishes its budget in the workflow run summary: the same measured-versus-budget tables, plus any breaches, are written to the job summary of the run that produced the package. The numbers for a given release are therefore readable directly from its run, without downloading an artefact or trusting the table below to still be current. |
20 tasks
damyanpetev
marked this pull request as draft
September 2, 2026 06:56
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Publishes
docs/performance.md— the performance budget forIgniteUI.Blazor.Lite— and links it from the README and the changelog.The document exists so that a size or latency regression is a decision somebody makes on the record, rather than something a consumer discovers after upgrading. It covers:
_content/IgniteUI.Blazor. Explicitly not the consuming app's own bundle, the Blazor framework payload, or the WebAssembly runtime download, none of which this package controls.igniteui-webcomponents7.2.4, each alongside the budget it is checked against.themesfigure is all eight prebuilt stylesheets, not the per-page cost of the one a consumer references.eng/bundle-budgets.json, update the measured column, and say why in the changelog.The one substantive change from the version in #371
The document now records that every release publishes its budget in the workflow run summary, not only as an attached artefact.
eng/Check-BundleBudget.ps1already appends the measured-versus-budget tables and any breaches to$GITHUB_STEP_SUMMARY; the doc previously mentioned onlyperformance-report.md/.jsonon the release. The practical difference for a reviewer is that the numbers for a given release are readable straight from its run — no artefact download, and no need to trust that the table in this document is still current.Motivation / Context
This is the PERF-09/10 gap from the package readiness assessment: the package had no published size or latency budget, so there was no threshold a regression could be measured against and no record of what "acceptable" meant.
Split out of #371 so the budget can be reviewed on its own terms rather than as a footnote to a release-workflow refactor.
Important
This document describes enforcement that lives in #371.
eng/bundle-budgets.json,eng/Check-BundleBudget.ps1and theevidencejob are not onmasteryet, so until #371 merges the two relative links in the opening paragraph will 404 and the "enforced, not aspirational" claim describes machinery that is one PR away. If that is not acceptable, this PR should merge after #371 rather than before it — or the enforcement files should be pulled in here. Flagging rather than deciding.Type of Change (check all that apply):
Component(s) / Area(s) Affected:
Documentation only. No product code, build, or workflow changes.
How Has This Been Tested?
The run-summary claim was verified against the script rather than assumed:
eng/Check-BundleBudget.ps1builds the totals and groups tables plus a "Budget breaches" section, writes them toperformance-report.md, and appends the same lines to$GITHUB_STEP_SUMMARYwhen it is set. Relative link targets were checked againstmaster— see the note above for the two that do not resolve yet.Test Configuration:
Checklist:
README.MDCHANGELOG.MDupdates for newly added functionality