First go at displaying Long Animation Frame information (coming in next Chrome) (#4108)
This commit is contained in:
parent
b447cb6465
commit
bde5bebca9
|
|
@ -10,6 +10,7 @@ if browsertime
|
|||
- const custom = medianRun ? pageInfo.data.browsertime.pageSummary.browserScripts[medianRun.runIndex - 1].custom : pageInfo.data.browsertime.run.custom
|
||||
- const cdp = medianRun ? pageInfo.data.browsertime.pageSummary.cdp[medianRun.runIndex - 1] : pageInfo.data.browsertime.run.cdp
|
||||
- const renderBlocking = medianRun ? pageInfo.data.browsertime.pageSummary.renderBlocking[medianRun.runIndex - 1] : pageInfo.data.browsertime.run.renderBlocking
|
||||
- const loaf = medianRun ? pageInfo.data.browsertime.pageSummary.browserScripts[medianRun.runIndex - 1].pageinfo.loaf : pageInfo.data.browsertime.run.pageinfo.loaf
|
||||
|
||||
small
|
||||
| |
|
||||
|
|
@ -27,6 +28,9 @@ if browsertime
|
|||
if timings.interactionToNextPaint
|
||||
a(href='#interactionToNextPaint') Interaction To Next Paint
|
||||
| |
|
||||
if loaf
|
||||
a(href='#longAnimationFrames') Long Aninimation Frames
|
||||
| |
|
||||
if timings.elementTimings && Object.keys(timings.elementTimings).length > 0
|
||||
a(href='#elementTimings') Element Timings
|
||||
| |
|
||||
|
|
@ -271,6 +275,7 @@ if browsertime
|
|||
include ./firstInput.pug
|
||||
include ./layoutShift.pug
|
||||
include ./inp.pug
|
||||
include ./loaf.pug
|
||||
include ./elementTimings.pug
|
||||
include ./serverTimings.pug
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,53 @@
|
|||
if loaf
|
||||
a#longAnimationFrames
|
||||
h3 Long Animation Frames
|
||||
p Read more about the Long Animation Frames API here
|
||||
a(href='https://developer.chrome.com/docs/web-platform/long-animation-frames') here.
|
||||
p The top 10 longest animation frames entries
|
||||
|
||||
each oneLoaf in loaf
|
||||
table
|
||||
tr
|
||||
th Blocking duration
|
||||
th Work duration
|
||||
th Render duration
|
||||
th PreLayout Duration
|
||||
th Style And Layout Duration
|
||||
tr
|
||||
td #{h.time.ms(h.decimals(oneLoaf.blockingDuration))}
|
||||
td #{h.time.ms(h.decimals(oneLoaf.workDuration))}
|
||||
td #{h.time.ms(h.decimals(oneLoaf.renderDuration))}
|
||||
td #{h.time.ms(h.decimals(oneLoaf.preLayoutDuration))}
|
||||
td #{h.time.ms(h.decimals(oneLoaf.styleAndLayoutDuration))}
|
||||
|
||||
if oneLoaf.scripts.length > 0
|
||||
each theScript in oneLoaf.scripts
|
||||
if theScript.sourceURL !== ''
|
||||
tr
|
||||
td.url.assetsurl(colspan=5)
|
||||
a(href=theScript.sourceURL)= theScript.sourceURL
|
||||
tr
|
||||
td(colspan=5)
|
||||
if theScript.forcedStyleAndLayoutDuration !== 0
|
||||
p Forced Style And Layout Duration: #{h.time.ms(h.decimals(theScript.forcedStyleAndLayoutDuration))}
|
||||
p
|
||||
b Invoker:
|
||||
| #{theScript.invoker}
|
||||
br
|
||||
b Invoker Type:
|
||||
| #{theScript.invokerType}
|
||||
br
|
||||
if theScript.sourceFunctionName
|
||||
b Source Function Name:
|
||||
| #{theScript.sourceFunctionName}
|
||||
br
|
||||
if theScript.windowAttribution
|
||||
b Window attribution:
|
||||
| #{theScript.windowAttribution}
|
||||
br
|
||||
if theScript.sourceCharPosition
|
||||
b Source char position:
|
||||
| #{theScript.sourceCharPosition}
|
||||
else
|
||||
tr
|
||||
td(colspan=5) No availible script information.
|
||||
Loading…
Reference in New Issue