Skip to content
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

[Reporting] Upgrade Puppeteer to 8.0.0 #90496

Closed
tsullivan opened this issue Feb 5, 2021 · 5 comments
Closed

[Reporting] Upgrade Puppeteer to 8.0.0 #90496

tsullivan opened this issue Feb 5, 2021 · 5 comments
Assignees
Labels
bug Fixes for quality problems that affect the customer experience (Deprecated) Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:medium Medium Level of Effort

Comments

@tsullivan
Copy link
Member

tsullivan commented Feb 5, 2021

Puppeteer recently implemented a change that causes any area of the screen to not render unless it is within the viewport.

The solution is to have Reporting resize the viewport large enough so that all the data is rendered. This adversely affects performance because Puppeteer also has stability issues with large viewports. Compensating with large RAM on the system doesn't seem to help.

Chromium / Blink Renderer had a recent change pushed that gives us better options: https://bugs.chromium.org/p/chromium/issues/detail?id=1003629. It gives developers who use Puppeteer the option to add mainFrameClipsContent=false in a launch arg - using that restores the old behavior.

We should update to a new build of Chromium that has support for that flag, and update to a new version of Puppeteer that supports that version of Chromium.

We should also add a check into the code before resizing the viewport of the headless page, never to size it more than 11 megapixels. If we need to capture an image larger than 11 MP, we can stitch different clips of the page into 1 image: because of the the mainFrameClipsContent option, it can still be captured if the content is "below the fold"

@tsullivan tsullivan added bug Fixes for quality problems that affect the customer experience (Deprecated) Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead Team:AppServices labels Feb 5, 2021
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-app-services (Team:AppServices)

@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-reporting-services (Team:Reporting Services)

@tsullivan tsullivan added the loe:large Large Level of Effort label Feb 25, 2021
@tsullivan tsullivan added impact:critical This issue should be addressed immediately due to a critical level of impact on the product. loe:x-large Extra Large Level of Effort triaged and removed loe:large Large Level of Effort labels Feb 25, 2021
@Dosant Dosant added the blocked label Mar 1, 2021
@Dosant
Copy link
Contributor

Dosant commented Mar 1, 2021

Postpone until @tsullivan looks into automating building of puppeteer.

@tsullivan
Copy link
Member Author

tsullivan commented Apr 23, 2021

Postpone until @tsullivan looks into automating building of puppeteer.

It's not completely ready for automation yet, but we should be able to update to 7.10.0 soon which ships with Chromium version 90.

node scripts/chromium_version.js 7.1.0          
 info Fetching code from Puppeteer source: https://raw.githubusercontent.com/puppeteer/puppeteer/v7.1.0/src/revisions.ts
 info Found Chromium revision 848005 from Puppeteer 7.1.0
 info Fetching https://crrev.com/848005
 info Found Chromium commit 5cf4b8b13ed518472038170f8de9db2f6c258fe4 from revision 848005.

Removing the blocked label from this issue

@tsullivan tsullivan removed the blocked label Apr 23, 2021
@tsullivan tsullivan changed the title [Reporting] Use new mainFrameClipsContent=false Puppeteer Launch arg [Reporting] Upgrade Puppeteer to 7.10.x Apr 23, 2021
@tsullivan tsullivan changed the title [Reporting] Upgrade Puppeteer to 7.10.x [Reporting] Upgrade Puppeteer to 7.1.x Apr 23, 2021
@tsullivan tsullivan self-assigned this Apr 23, 2021
@exalate-issue-sync exalate-issue-sync bot added loe:weeks and removed loe:x-large Extra Large Level of Effort labels Apr 26, 2021
@exalate-issue-sync exalate-issue-sync bot changed the title [Reporting] Upgrade Puppeteer to 7.1.x [Reporting] Upgrade Puppeteer to 8.0.0 May 2, 2021
@petrklapka petrklapka added 1 and removed 1 labels May 6, 2021
@exalate-issue-sync exalate-issue-sync bot added loe:medium Medium Level of Effort and removed loe:weeks labels May 11, 2021
@tsullivan
Copy link
Member Author

Closed via #98688

@exalate-issue-sync exalate-issue-sync bot added impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. and removed impact:critical This issue should be addressed immediately due to a critical level of impact on the product. labels Jun 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Fixes for quality problems that affect the customer experience (Deprecated) Feature:Reporting Use Reporting:Screenshot, Reporting:CSV, or Reporting:Framework instead impact:high Addressing this issue will have a high level of impact on the quality/strength of our product. loe:medium Medium Level of Effort
Projects
None yet
Development

No branches or pull requests

4 participants