[Reporting] set zoom to 1 for long reports#248785
Conversation
|
Cloud deployments require a Github label, please add |
|
@darnautov this is a riff on your PR #246560 I only set the zoom to either 1 or 2 - a zoom of 2 is what we've been using for a while, and
|
|
Pinging @elastic/response-ops (Team:ResponseOps) |
|
To test this, here's a Saved Object export for the Web Logs sample, which is ~12K in height, due to one of the graphs being resized to be VERY TALL. There's a table at the bottom, so you can tell if it rendered the whole thing. Remove the Note, this dashboard likely works without this patch on Mac, but that's because it's using a GPU. The problem appears to be related to running with no gpu. To run on Mac with no gpu, you'll need to hack the code: #246560 (comment) |
|
Closing in preference of #248566 . That PR will handle longer reports (this one could only handle reports < 16K height), and this one has some kind of a problem with the clipping rectangle - I was seeing the "chrome" of the Dashboard app in the resulting images, when the zoom was set to 1. |
|
Closed PR #248566 and will fix the "long report" issue with this PR. The "tiling" approach in that PR does work, but requires a lot of memory. It may be useful in the future if we move to some kind of centralized printing service where memory isn't as much of an issue. |
|
In the cloud deployment, I added a modified version of the Web Traffic dashboard, that is 12888 pixels high. It generates PNGs and PDFs fine for this dashboard, where a cloud deployment without these changes fails to run, or generates a garbled image. |
| .object({ | ||
| height: z.number().positive().max(14400), | ||
| // 16000px height is the maximum screenshot Chrome can make | ||
| height: z.number().positive().max(16000), |
There was a problem hiding this comment.
Shall we update the docs https://www.elastic.co/docs/explore-analyze/report-and-share by adding the "Certain limitations" sections similar to the CSV exports? cc @nastasha-solomon
There was a problem hiding this comment.
Yeah, good call. Are there width restrictions for screenshots too?
There was a problem hiding this comment.
It seems like it's hard or not practival to make "wide" dashboards in Kibana, that would have problems printing like this. So I'd say we don't have to worry about width issues.
💚 Build Succeeded
Metrics [docs]
History
|
|
Starting backport for target branches: 8.19, 9.1, 9.2, 9.3 https://github.com/elastic/kibana/actions/runs/21613375117 |
resolves elastic#138812 ## Summary Chrome has a hard limit of 16000 rows in a page screenshot. We currently set the zoom level to 2, which means any report > 8000 in height won't be rendered correctly. As a partial fix, we'll set zoom to 1 for any report that is > 8000 height. for more info: puppeteer/puppeteer#359 (cherry picked from commit 19df262)
💔 Some backports could not be created
Note: Successful backport PRs will be merged automatically after passing CI. Manual backportTo create the backport manually run: Questions ?Please refer to the Backport tool documentation |
# Backport This will backport the following commits from `main` to `9.3`: - [[Reporting] set zoom to 1 for long reports (#248785)](#248785) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Patrick Mueller","email":"patrick.mueller@elastic.co"},"sourceCommit":{"committedDate":"2026-02-03T01:40:22Z","message":"[Reporting] set zoom to 1 for long reports (#248785)\n\nresolves https://github.com/elastic/kibana/issues/138812\n\n## Summary\n\nChrome has a hard limit of 16000 rows in a page screenshot. We currently\nset the zoom level to 2, which means any report > 8000 in height won't\nbe rendered correctly.\n\nAs a partial fix, we'll set zoom to 1 for any report that is > 8000\nheight.\n\nfor more info: https://github.com/puppeteer/puppeteer/issues/359","sha":"19df26274ac68e1401cfc2702fb7922c9fda7cdb","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","backport:all-open","ci:cloud-deploy","Feature:Reporting:Screenshot","v9.4.0"],"title":"[Reporting] set zoom to 1 for long reports","number":248785,"url":"https://github.com/elastic/kibana/pull/248785","mergeCommit":{"message":"[Reporting] set zoom to 1 for long reports (#248785)\n\nresolves https://github.com/elastic/kibana/issues/138812\n\n## Summary\n\nChrome has a hard limit of 16000 rows in a page screenshot. We currently\nset the zoom level to 2, which means any report > 8000 in height won't\nbe rendered correctly.\n\nAs a partial fix, we'll set zoom to 1 for any report that is > 8000\nheight.\n\nfor more info: https://github.com/puppeteer/puppeteer/issues/359","sha":"19df26274ac68e1401cfc2702fb7922c9fda7cdb"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/248785","number":248785,"mergeCommit":{"message":"[Reporting] set zoom to 1 for long reports (#248785)\n\nresolves https://github.com/elastic/kibana/issues/138812\n\n## Summary\n\nChrome has a hard limit of 16000 rows in a page screenshot. We currently\nset the zoom level to 2, which means any report > 8000 in height won't\nbe rendered correctly.\n\nAs a partial fix, we'll set zoom to 1 for any report that is > 8000\nheight.\n\nfor more info: https://github.com/puppeteer/puppeteer/issues/359","sha":"19df26274ac68e1401cfc2702fb7922c9fda7cdb"}}]}] BACKPORT--> Co-authored-by: Patrick Mueller <patrick.mueller@elastic.co>
resolves elastic#138812 ## Summary Chrome has a hard limit of 16000 rows in a page screenshot. We currently set the zoom level to 2, which means any report > 8000 in height won't be rendered correctly. As a partial fix, we'll set zoom to 1 for any report that is > 8000 height. for more info: puppeteer/puppeteer#359 (cherry picked from commit 19df262) # Conflicts: # x-pack/platform/plugins/private/reporting/server/routes/common/request_handler/validator.ts
resolves elastic#138812 ## Summary Chrome has a hard limit of 16000 rows in a page screenshot. We currently set the zoom level to 2, which means any report > 8000 in height won't be rendered correctly. As a partial fix, we'll set zoom to 1 for any report that is > 8000 height. for more info: puppeteer/puppeteer#359 (cherry picked from commit 19df262) # Conflicts: # x-pack/platform/plugins/private/reporting/server/routes/common/request_handler/validator.ts
resolves elastic#138812 ## Summary Chrome has a hard limit of 16000 rows in a page screenshot. We currently set the zoom level to 2, which means any report > 8000 in height won't be rendered correctly. As a partial fix, we'll set zoom to 1 for any report that is > 8000 height. for more info: puppeteer/puppeteer#359 (cherry picked from commit 19df262) # Conflicts: # x-pack/platform/plugins/private/reporting/server/routes/common/request_handler/validator.ts
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
# Backport This will backport the following commits from `main` to `9.2`: - [[Reporting] set zoom to 1 for long reports (#248785)](#248785) <!--- Backport version: 10.2.0 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Patrick Mueller","email":"patrick.mueller@elastic.co"},"sourceCommit":{"committedDate":"2026-02-03T01:40:22Z","message":"[Reporting] set zoom to 1 for long reports (#248785)\n\nresolves https://github.com/elastic/kibana/issues/138812\n\n## Summary\n\nChrome has a hard limit of 16000 rows in a page screenshot. We currently\nset the zoom level to 2, which means any report > 8000 in height won't\nbe rendered correctly.\n\nAs a partial fix, we'll set zoom to 1 for any report that is > 8000\nheight.\n\nfor more info: https://github.com/puppeteer/puppeteer/issues/359","sha":"19df26274ac68e1401cfc2702fb7922c9fda7cdb","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","backport:all-open","ci:cloud-deploy","Feature:Reporting:Screenshot","v9.3.0","v9.4.0"],"title":"[Reporting] set zoom to 1 for long reports","number":248785,"url":"https://github.com/elastic/kibana/pull/248785","mergeCommit":{"message":"[Reporting] set zoom to 1 for long reports (#248785)\n\nresolves https://github.com/elastic/kibana/issues/138812\n\n## Summary\n\nChrome has a hard limit of 16000 rows in a page screenshot. We currently\nset the zoom level to 2, which means any report > 8000 in height won't\nbe rendered correctly.\n\nAs a partial fix, we'll set zoom to 1 for any report that is > 8000\nheight.\n\nfor more info: https://github.com/puppeteer/puppeteer/issues/359","sha":"19df26274ac68e1401cfc2702fb7922c9fda7cdb"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.3","label":"v9.3.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/251365","number":251365,"state":"MERGED","mergeCommit":{"sha":"1ce95a5aa75b2fc1bbb716ff3854747a09e21d59","message":"[9.3] [Reporting] set zoom to 1 for long reports (#248785) (#251365)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.3`:\n- [[Reporting] set zoom to 1 for long reports\n(#248785)](https://github.com/elastic/kibana/pull/248785)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by: Patrick Mueller <patrick.mueller@elastic.co>"}},{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/248785","number":248785,"mergeCommit":{"message":"[Reporting] set zoom to 1 for long reports (#248785)\n\nresolves https://github.com/elastic/kibana/issues/138812\n\n## Summary\n\nChrome has a hard limit of 16000 rows in a page screenshot. We currently\nset the zoom level to 2, which means any report > 8000 in height won't\nbe rendered correctly.\n\nAs a partial fix, we'll set zoom to 1 for any report that is > 8000\nheight.\n\nfor more info: https://github.com/puppeteer/puppeteer/issues/359","sha":"19df26274ac68e1401cfc2702fb7922c9fda7cdb"}}]}] BACKPORT-->
# Backport This will backport the following commits from `main` to `9.1`: - [[Reporting] set zoom to 1 for long reports (#248785)](#248785) <!--- Backport version: 10.2.0 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Patrick Mueller","email":"patrick.mueller@elastic.co"},"sourceCommit":{"committedDate":"2026-02-03T01:40:22Z","message":"[Reporting] set zoom to 1 for long reports (#248785)\n\nresolves https://github.com/elastic/kibana/issues/138812\n\n## Summary\n\nChrome has a hard limit of 16000 rows in a page screenshot. We currently\nset the zoom level to 2, which means any report > 8000 in height won't\nbe rendered correctly.\n\nAs a partial fix, we'll set zoom to 1 for any report that is > 8000\nheight.\n\nfor more info: https://github.com/puppeteer/puppeteer/issues/359","sha":"19df26274ac68e1401cfc2702fb7922c9fda7cdb","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","backport:all-open","ci:cloud-deploy","Feature:Reporting:Screenshot","v9.3.0","v9.4.0"],"title":"[Reporting] set zoom to 1 for long reports","number":248785,"url":"https://github.com/elastic/kibana/pull/248785","mergeCommit":{"message":"[Reporting] set zoom to 1 for long reports (#248785)\n\nresolves https://github.com/elastic/kibana/issues/138812\n\n## Summary\n\nChrome has a hard limit of 16000 rows in a page screenshot. We currently\nset the zoom level to 2, which means any report > 8000 in height won't\nbe rendered correctly.\n\nAs a partial fix, we'll set zoom to 1 for any report that is > 8000\nheight.\n\nfor more info: https://github.com/puppeteer/puppeteer/issues/359","sha":"19df26274ac68e1401cfc2702fb7922c9fda7cdb"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.3","label":"v9.3.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/251365","number":251365,"state":"MERGED","mergeCommit":{"sha":"1ce95a5aa75b2fc1bbb716ff3854747a09e21d59","message":"[9.3] [Reporting] set zoom to 1 for long reports (#248785) (#251365)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.3`:\n- [[Reporting] set zoom to 1 for long reports\n(#248785)](https://github.com/elastic/kibana/pull/248785)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by: Patrick Mueller <patrick.mueller@elastic.co>"}},{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/248785","number":248785,"mergeCommit":{"message":"[Reporting] set zoom to 1 for long reports (#248785)\n\nresolves https://github.com/elastic/kibana/issues/138812\n\n## Summary\n\nChrome has a hard limit of 16000 rows in a page screenshot. We currently\nset the zoom level to 2, which means any report > 8000 in height won't\nbe rendered correctly.\n\nAs a partial fix, we'll set zoom to 1 for any report that is > 8000\nheight.\n\nfor more info: https://github.com/puppeteer/puppeteer/issues/359","sha":"19df26274ac68e1401cfc2702fb7922c9fda7cdb"}}]}] BACKPORT-->
# Backport This will backport the following commits from `main` to `8.19`: - [[Reporting] set zoom to 1 for long reports (#248785)](#248785) <!--- Backport version: 10.2.0 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Patrick Mueller","email":"patrick.mueller@elastic.co"},"sourceCommit":{"committedDate":"2026-02-03T01:40:22Z","message":"[Reporting] set zoom to 1 for long reports (#248785)\n\nresolves https://github.com/elastic/kibana/issues/138812\n\n## Summary\n\nChrome has a hard limit of 16000 rows in a page screenshot. We currently\nset the zoom level to 2, which means any report > 8000 in height won't\nbe rendered correctly.\n\nAs a partial fix, we'll set zoom to 1 for any report that is > 8000\nheight.\n\nfor more info: https://github.com/puppeteer/puppeteer/issues/359","sha":"19df26274ac68e1401cfc2702fb7922c9fda7cdb","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","backport:all-open","ci:cloud-deploy","Feature:Reporting:Screenshot","v9.3.0","v9.4.0"],"title":"[Reporting] set zoom to 1 for long reports","number":248785,"url":"https://github.com/elastic/kibana/pull/248785","mergeCommit":{"message":"[Reporting] set zoom to 1 for long reports (#248785)\n\nresolves https://github.com/elastic/kibana/issues/138812\n\n## Summary\n\nChrome has a hard limit of 16000 rows in a page screenshot. We currently\nset the zoom level to 2, which means any report > 8000 in height won't\nbe rendered correctly.\n\nAs a partial fix, we'll set zoom to 1 for any report that is > 8000\nheight.\n\nfor more info: https://github.com/puppeteer/puppeteer/issues/359","sha":"19df26274ac68e1401cfc2702fb7922c9fda7cdb"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"9.3","label":"v9.3.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"url":"https://github.com/elastic/kibana/pull/251365","number":251365,"state":"MERGED","mergeCommit":{"sha":"1ce95a5aa75b2fc1bbb716ff3854747a09e21d59","message":"[9.3] [Reporting] set zoom to 1 for long reports (#248785) (#251365)\n\n# Backport\n\nThis will backport the following commits from `main` to `9.3`:\n- [[Reporting] set zoom to 1 for long reports\n(#248785)](https://github.com/elastic/kibana/pull/248785)\n\n\n\n### Questions ?\nPlease refer to the [Backport tool\ndocumentation](https://github.com/sorenlouv/backport)\n\n\n\nCo-authored-by: Patrick Mueller <patrick.mueller@elastic.co>"}},{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/248785","number":248785,"mergeCommit":{"message":"[Reporting] set zoom to 1 for long reports (#248785)\n\nresolves https://github.com/elastic/kibana/issues/138812\n\n## Summary\n\nChrome has a hard limit of 16000 rows in a page screenshot. We currently\nset the zoom level to 2, which means any report > 8000 in height won't\nbe rendered correctly.\n\nAs a partial fix, we'll set zoom to 1 for any report that is > 8000\nheight.\n\nfor more info: https://github.com/puppeteer/puppeteer/issues/359","sha":"19df26274ac68e1401cfc2702fb7922c9fda7cdb"}}]}] BACKPORT-->
resolves #138812
Summary
Chrome has a hard limit of 16000 rows in a page screenshot. We currently set the zoom level to 2, which means any report > 8000 in height won't be rendered correctly.
As a partial fix, we'll set zoom to 1 for any report that is > 8000 height.
for more info: puppeteer/puppeteer#359
Checklist
Check the PR satisfies following conditions.
Reviewers should verify this PR satisfies this list as well.
release_note:breakinglabel should be applied in these situations.release_note:*label is applied per the guidelinesbackport:*labels.Identify risks
Does this PR introduce any risks? For example, consider risks like hard to test bugs, performance regression, potential of data loss.
Describe the risk, its severity, and mitigation for each identified risk. Invite stakeholders and evaluate how to proceed before merging.