-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[kbn/optimizer] report limits with ci metrics #78205
[kbn/optimizer] report limits with ci metrics #78205
Conversation
1724549
to
d0fcd8a
Compare
d7e3a96
to
4f6a5ee
Compare
4f6a5ee
to
e55a260
Compare
Example comment from CI with failures:💔 Build Failed
Metrics [docs]@kbn/optimizer bundle module count
async chunks size
distributable file count
page load bundle size
History
To update your PR or re-run it, just comment with: |
e55a260
to
5e091e4
Compare
Pinging @elastic/kibana-operations (Team:Operations) |
@kibanamachine merge upstream |
5602d8d
to
daf6578
Compare
daf6578
to
087c85f
Compare
@elasticmachine merge upstream |
c323ffb
to
1a5b08f
Compare
} | ||
|
||
const ext = Path.extname(filename); | ||
if (IGNORED_EXTNAME.includes(ext)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it be better to specifically include js instead of maintain an ignore list?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The files aren't just js files, they include images, fonts, etc, so I think the ignore list is more appropriate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@elasticmachine merge upstream Failure caused by #79725 |
…ibana into implement/bundle-metric-limits
💚 Build SucceededMetrics [docs]
History
To update your PR or re-run it, just comment with: |
Co-authored-by: spalger <[email protected]> Co-authored-by: Kibana Machine <[email protected]>
Co-authored-by: spalger <[email protected]> Co-authored-by: Kibana Machine <[email protected]>
* [kbn/optimizer] report limits with ci metrics (#78205) Co-authored-by: spalger <[email protected]> Co-authored-by: Kibana Machine <[email protected]> * update bundle limits for 7.x branch Co-authored-by: spalger <[email protected]> Co-authored-by: Kibana Machine <[email protected]>
* [kbn/optimizer] report limits with ci metrics (#78205) Co-authored-by: spalger <[email protected]> Co-authored-by: Kibana Machine <[email protected]> * update bundle limits for 7.10 Co-authored-by: spalger <[email protected]> Co-authored-by: Kibana Machine <[email protected]>
* master: (217 commits) Fix dashboard "snapshot share" is not sharing panel state in view mode (elastic#79837) fix can't edit a scripted field with special char (elastic#79842) [ML] clear selection action (elastic#79834) [TSVB] Show tooltip on external pointer events (elastic#77306) Fixes bug where the same index was being passed in (elastic#79949) Adds date time query and return fields for timestamps and overrides (elastic#79911) [Security Solution][Detections] Reverts rules table tag filter to use AND operator (elastic#79920) add the correct class to truncate the names (elastic#79921) [kbn/optimizer] report limits with ci metrics (elastic#78205) [release notes] extract "dev docs" comment too (elastic#79351) Revert "skips test failing promotion (elastic#79777)" (elastic#79904) share tslib across bundles (elastic#79915) remove entire suite as partial skips aren't doing the trick skip flaky suite (elastic#78689) Skip failing suite (elastic#79522) skip flaky suite (elastic#79910) [es/mappings] remove doc_values from text fields (elastic#79869) remove skipped snapshots skip flaky tests (elastic#79891) chore(NA): add missing branches into backportrc configuration file (elastic#79848) ...
Closes #74285
In an attempt to prevent bundles from unexpectedly growing in size we would like to implement hard limits on the size of bundles. To assist in that effort we're going to start by giving every bundle a 5kb budget for increasing, and will work to clamp down the limit over time. Ideally we will get to a point where all page load bundles are less than 200kb.
To accomplish this we have a limits.yml file that describes the max size in bytes for each bundle. These limits are sent to the ci-stats service when metrics are reported along with the current size, allowing the service to set a failed commit status on the PR as well as report the remaining budget for each bundle so we can track this stat over time as well.
The limits file can be validate locally by running
The limits file can also be regenerated locally by running
which runs a build locally and writes the sizes + 5kb to limits.yml