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

Font size gatherer is slow #12425

Open
mattzeunert opened this issue Apr 29, 2021 · 3 comments
Open

Font size gatherer is slow #12425

mattzeunert opened this issue Apr 29, 2021 · 3 comments
Assignees
Labels

Comments

@mattzeunert
Copy link
Contributor

mattzeunert commented Apr 29, 2021

Running Lighthouse on this URL takes a long time: https://www.gucci.com/us/en/pr/women/handbags/shoulder-bags-for-women/bucket-bags-for-women/jackie-1961-small-shoulder-bag-p-636706HUHHG8565

It seems to be caused by the font size gatherer.

status Gathering: FontSize +6ms
status Gathering: EmbeddedContent +19s

I tried running with --verbose to see more details.

lighthouse https://www.gucci.com/us/en/pr/women/handbags/shoulder-bags-for-women/bucket-bags-for-women/jackie-1961-small-shoulder-bag-p-636706HUHHG8565 --view --verbose

It looks like the getMatchedStylesForNode calls are slow sometimes.

  status Gathering: FontSize +0ms
  listen for event =>:verbose CSS.styleSheetAdded  +1ms
  Driver:verbose DOMSnapshot.enable +0ms
  method => browser:verbose DOMSnapshot.enable  +0ms
  Driver:verbose DOM.enable +0ms
  method => browser:verbose DOM.enable  +0ms
  Driver:verbose CSS.enable +0ms
  method => browser:verbose CSS.enable  +0ms
  method <= browser OK:verbose DOMSnapshot.enable {} +0ms
  method <= browser OK:verbose DOM.enable {} +0ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.48","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"","origin":"regular","title":"","ownerNode":168,"disabled":false,"isInline":false,"isMutabl +171ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.49","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"https://www.gucci.com/us/en/pr/women/handbags/shoulder-bags-for-women/bucket-bags-for-women +0ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.50","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"https://www.gucci.com/us/en/pr/women/handbags/shoulder-bags-for-women/bucket-bags-for-women +0ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.51","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"https://search-spa.prd.gd.regiongold.com/static/css/main.css","origin":"regular","title":"" +0ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.52","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"https://www.gucci.com/us/en/pr/women/handbags/shoulder-bags-for-women/bucket-bags-for-women +0ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.53","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"https://www.gucci.com/us/en/pr/women/handbags/shoulder-bags-for-women/bucket-bags-for-women +0ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.54","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"https://www.gucci.com/us/en/pr/women/handbags/shoulder-bags-for-women/bucket-bags-for-women +0ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.55","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"https://www.gucci.com/us/en/pr/women/handbags/shoulder-bags-for-women/bucket-bags-for-women +0ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.56","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"https://www.gucci.com/_ui/responsive/common/20210429051528/css/main.css","origin":"regular" +0ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.57","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"","origin":"regular","title":"","ownerNode":177,"disabled":false,"isInline":false,"isMutabl +0ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.58","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"","origin":"regular","title":"","ownerNode":91,"disabled":false,"isInline":false,"isMutable +0ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.59","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"https://www.gucci.com/us/en/pr/women/handbags/shoulder-bags-for-women/bucket-bags-for-women +0ms
  <= event:verbose CSS.styleSheetAdded {"header":{"styleSheetId":"58775.60","frameId":"45DFC2DC9FE5F93582A13B361971135D","sourceURL":"https://www.gucci.com/us/en/pr/women/handbags/shoulder-bags-for-women/bucket-bags-for-women +0ms
  <= event:verbose CSS.fontsUpdated {"font":{"fontFamily":"SVG Icons","fontStyle":"normal","fontVariant":"normal","fontWeight":"400","fontStretch":"normal","unicodeRange":"U+0-10FFFF","src":"https://www.gucci.com/_ui/responsi +0ms
  <= event:verbose CSS.fontsUpdated {"font":{"fontFamily":"Futura","fontStyle":"normal","fontVariant":"normal","fontWeight":"200","fontStretch":"normal","unicodeRange":"U+0-10FFFF","src":"https://www.gucci.com/_ui/responsive/ +0ms
  <= event:verbose CSS.fontsUpdated {"font":{"fontFamily":"Futura","fontStyle":"normal","fontVariant":"normal","fontWeight":"400","fontStretch":"normal","unicodeRange":"U+0-10FFFF","src":"https://www.gucci.com/_ui/responsive/ +0ms
  <= event:verbose CSS.fontsUpdated {"font":{"fontFamily":"Futura","fontStyle":"normal","fontVariant":"normal","fontWeight":"600","fontStretch":"normal","unicodeRange":"U+0-10FFFF","src":"https://www.gucci.com/_ui/responsive/ +0ms
  <= event:verbose CSS.fontsUpdated {"font":{"fontFamily":"Futura","fontStyle":"normal","fontVariant":"normal","fontWeight":"800","fontStretch":"normal","unicodeRange":"U+0-10FFFF","src":"https://www.gucci.com/_ui/responsive/ +0ms
  method <= browser OK:verbose CSS.enable {} +0ms
  method => browser:verbose DOMSnapshot.captureSnapshot {"computedStyles":["font-size"]} +0ms
  method <= browser OK:verbose DOMSnapshot.captureSnapshot {"documents":[{"documentURL":0,"title":1,"baseURL":0,"contentLanguage":2,"encodingName":3,"publicId":-1,"systemId":-1,"frameId":4,"nodes":{"parentIndex":[-1,0,0,2,3,4 +47ms
  method => browser:verbose DOM.getDocument {"depth":-1,"pierce":true} +4ms
  method <= browser OK:verbose DOM.getDocument {"root":{"nodeId":29023,"backendNodeId":5,"nodeType":9,"nodeName":"#document","localName":"","nodeValue":"","childNodeCount":2,"children":[{"nodeId":29024,"parentId":29023,"backe +100ms
  method => browser:verbose DOM.pushNodesByBackendIdsToFrontend {"backendNodeIds":[85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,86,87,88,10319,10332,10345,10358,10371,10384,10397,10410,14328,10316,10329,10342,10355,1 +0ms
  method <= browser OK:verbose DOM.pushNodesByBackendIdsToFrontend {"nodeIds":[43311,43311,43311,43311,43311,43311,43311,43311,43311,43311,43311,43311,43311,43311,43311,43311,43311,43311,43325,43327,43329,39272,39286,39300,39 +1ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +1ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +33ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43325} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43327} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43329} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39272} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39286} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39300} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39314} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39328} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39342} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39356} +1ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39370} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":43319} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39269} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39283} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39297} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39311} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39325} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39339} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39353} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39367} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":35442} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39384} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":32845} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":40495} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":32874} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":35758} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":39387} +1ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":32867} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":35806} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":35915} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":35992} +0ms
  method => browser:verbose CSS.getMatchedStylesForNode {"nodeId":36200} +0ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +288ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +60ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +58ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +57ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +62ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +62ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +63ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +62ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +63ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +65ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +61ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +66ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +65ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +66ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +67ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +67ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +68ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.62","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +70ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.63","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +77ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.64","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +81ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.65","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +77ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.66","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +515ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.70","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +559ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.72","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +649ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.74","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +597ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.76","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +960ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.78","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +1s
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.80","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +1s
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.82","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +1s
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.84","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +221ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.85","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +2s
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.86","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +421ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.87","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +437ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.88","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +481ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.89","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +560ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.90","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +691ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.91","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +767ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.92","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +724ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.93","cssProperties":[{"name":"display","value":"block","implicit":false,"text":"display: block;","disabled":false,"range":{"star +592ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.94","cssProperties":[{"name":"display","value":"inline-block","implicit":false,"text":"display: inline-block;","disabled":false, +386ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.95","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +263ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.96","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +265ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.97","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"ma +352ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.98","cssProperties":[{"name":"display","value":"block","implicit":false,"text":"display: block;","disabled":false,"range":{"star +673ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.99","cssProperties":[{"name":"display","value":"inline-block","implicit":false,"text":"display: inline-block;","disabled":false, +449ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.100","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"m +387ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.101","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"m +508ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.103","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"m +959ms
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.104","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"m +1s
  method <= browser OK:verbose CSS.getMatchedStylesForNode {"inlineStyle":{"styleSheetId":"58775.105","cssProperties":[],"shorthandEntries":[],"cssText":"","range":{"startLine":0,"startColumn":0,"endLine":0,"endColumn":0}},"m +945ms
  Driver:verbose DOMSnapshot.disable +1ms
  method => browser:verbose DOMSnapshot.disable  +0ms
  Driver:verbose DOM.disable +0ms
  method => browser:verbose DOM.disable  +0ms
  Driver:verbose CSS.disable +1ms
  method => browser:verbose CSS.disable  +0ms
  <= event:verbose DOM.childNodeRemoved {"parentNodeId":29026,"nodeId":29179} +0ms
  method <= browser OK:verbose DOMSnapshot.disable {} +0ms
  method <= browser OK:verbose DOM.disable {} +0ms
  method <= browser OK:verbose CSS.disable {} +0ms
  method => browser:verbose Runtime.evaluate {"expression":"(function wrapInNativePromise() {\n        const __nativePromise = globalThis.__nativePromise || Promise;\n        const URL = globalThis.__nativeURL || globalThis.U +0ms
  <= event:verbose Debugger.scriptParsed {"scriptId":"251","url":"","startLine":0,"startColumn":0,"endLine":21,"endColumn":10,"executionContextId":16,"hash":"10d5ad3313b8f1c03eda7b409da3a3a714470b1a","executionContextAuxData" +1ms
  method <= browser OK:verbose Runtime.evaluate {"result":{"type":"undefined"}} +0ms
  statusEnd:verbose Gathering: FontSize +0ms

Could this be sped up somehow? Or have a budget like the image elements gatherer?

@paulirish
Copy link
Member

paulirish commented Apr 29, 2021

Heh. Rip the slow implementation that the new slow one is better than.

But yeah this is still observable. Some budgets make sense. In ImageElements we only applied budgets to the protocol work that was particularly bad.. EG I can imagine the captureSnapshot call is fairly quick but the work afterwards isnt.

We can prioritize which nodes we start investigating... cap at some limit, and set a time budget for the pricy parts. (it feels pretty likely that it's fetchFailingNodeSourceRules but we'd need some more instrumentation to be sure.

@mattzeunert interested in taking this?

see also #11289 #12065 #7274 #9818

@connorjclark
Copy link
Collaborator

We can prioritize which nodes we start investigating... cap at some limit, and set a time budget for the pricy parts. (it feels pretty likely that it's fetchFailingNodeSourceRules but we'd need some more instrumentation to be sure.

We are doing this, see the top of the gatherer file. We just got some expectations wrong about how long each individual action might take. We should swap to a time cap instead of a "# of actions" cap.

@mattzeunert
Copy link
Contributor Author

@mattzeunert interested in taking this?

No, not right now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants