@paulirish/trace_engine 0.0.41 → 0.0.43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/.tmp/tsbuildinfo/tsconfig.tsbuildinfo +1 -1
  2. package/generated/protocol.d.ts +79 -3
  3. package/locales/en-US.json +210 -0
  4. package/locales/en-XL.json +210 -0
  5. package/models/cpu_profile/CPUProfileDataModel.d.ts +7 -0
  6. package/models/cpu_profile/CPUProfileDataModel.js +9 -2
  7. package/models/cpu_profile/CPUProfileDataModel.js.map +1 -1
  8. package/models/cpu_profile/ProfileTreeModel.d.ts +1 -1
  9. package/models/cpu_profile/ProfileTreeModel.js.map +1 -1
  10. package/models/trace/LanternComputationData.d.ts +1 -1
  11. package/models/trace/LanternComputationData.js +8 -6
  12. package/models/trace/LanternComputationData.js.map +1 -1
  13. package/models/trace/Processor.d.ts +2 -16
  14. package/models/trace/Processor.js +6 -4
  15. package/models/trace/Processor.js.map +1 -1
  16. package/models/trace/extras/FilmStrip.d.ts +5 -5
  17. package/models/trace/extras/FilmStrip.js +2 -1
  18. package/models/trace/extras/FilmStrip.js.map +1 -1
  19. package/models/trace/extras/MainThreadActivity.d.ts +1 -1
  20. package/models/trace/extras/MainThreadActivity.js +3 -3
  21. package/models/trace/extras/MainThreadActivity.js.map +1 -1
  22. package/models/trace/extras/ThirdParties.d.ts +14 -13
  23. package/models/trace/extras/ThirdParties.js +51 -61
  24. package/models/trace/extras/ThirdParties.js.map +1 -1
  25. package/models/trace/extras/TimelineJSProfile.d.ts +1 -1
  26. package/models/trace/extras/TimelineJSProfile.js +9 -4
  27. package/models/trace/extras/TimelineJSProfile.js.map +1 -1
  28. package/models/trace/extras/TraceTree.d.ts +19 -6
  29. package/models/trace/extras/TraceTree.js +6 -3
  30. package/models/trace/extras/TraceTree.js.map +1 -1
  31. package/models/trace/extras/extras.d.ts +0 -1
  32. package/models/trace/extras/extras.js +0 -1
  33. package/models/trace/handlers/AnimationFramesHandler.js +1 -1
  34. package/models/trace/handlers/AnimationFramesHandler.js.map +1 -1
  35. package/models/trace/handlers/ExtensionTraceDataHandler.js +8 -2
  36. package/models/trace/handlers/ExtensionTraceDataHandler.js.map +1 -1
  37. package/models/trace/handlers/FlowsHandler.js.map +1 -1
  38. package/models/trace/handlers/FramesHandler.d.ts +12 -12
  39. package/models/trace/handlers/FramesHandler.js +3 -3
  40. package/models/trace/handlers/FramesHandler.js.map +1 -1
  41. package/models/trace/handlers/LayoutShiftsHandler.d.ts +2 -2
  42. package/models/trace/handlers/LayoutShiftsHandler.js +25 -16
  43. package/models/trace/handlers/LayoutShiftsHandler.js.map +1 -1
  44. package/models/trace/handlers/MetaHandler.d.ts +2 -2
  45. package/models/trace/handlers/MetaHandler.js +21 -21
  46. package/models/trace/handlers/MetaHandler.js.map +1 -1
  47. package/models/trace/handlers/NetworkRequestsHandler.js +37 -38
  48. package/models/trace/handlers/NetworkRequestsHandler.js.map +1 -1
  49. package/models/trace/handlers/PageLoadMetricsHandler.d.ts +6 -6
  50. package/models/trace/handlers/PageLoadMetricsHandler.js +9 -9
  51. package/models/trace/handlers/PageLoadMetricsHandler.js.map +1 -1
  52. package/models/trace/handlers/RendererHandler.d.ts +1 -1
  53. package/models/trace/handlers/RendererHandler.js +4 -4
  54. package/models/trace/handlers/RendererHandler.js.map +1 -1
  55. package/models/trace/handlers/SamplesHandler.d.ts +1 -1
  56. package/models/trace/handlers/SamplesHandler.js +50 -42
  57. package/models/trace/handlers/SamplesHandler.js.map +1 -1
  58. package/models/trace/handlers/ScreenshotsHandler.d.ts +6 -3
  59. package/models/trace/handlers/ScreenshotsHandler.js +22 -8
  60. package/models/trace/handlers/ScreenshotsHandler.js.map +1 -1
  61. package/models/trace/handlers/ServerTimingsHandler.js +4 -4
  62. package/models/trace/handlers/ServerTimingsHandler.js.map +1 -1
  63. package/models/trace/handlers/Threads.js +3 -4
  64. package/models/trace/handlers/Threads.js.map +1 -1
  65. package/models/trace/handlers/UserInteractionsHandler.d.ts +2 -2
  66. package/models/trace/handlers/UserInteractionsHandler.js +12 -12
  67. package/models/trace/handlers/UserInteractionsHandler.js.map +1 -1
  68. package/models/trace/handlers/WarningsHandler.d.ts +2 -2
  69. package/models/trace/handlers/WarningsHandler.js +2 -2
  70. package/models/trace/handlers/WarningsHandler.js.map +1 -1
  71. package/models/trace/handlers/helpers.d.ts +3 -3
  72. package/models/trace/handlers/helpers.js +16 -19
  73. package/models/trace/handlers/helpers.js.map +1 -1
  74. package/models/trace/handlers/types.d.ts +1 -1
  75. package/models/trace/handlers/types.js.map +1 -1
  76. package/models/trace/helpers/SamplesIntegrator.d.ts +1 -1
  77. package/models/trace/helpers/SamplesIntegrator.js +54 -15
  78. package/models/trace/helpers/SamplesIntegrator.js.map +1 -1
  79. package/models/trace/helpers/Timing.d.ts +23 -23
  80. package/models/trace/helpers/Timing.js +11 -11
  81. package/models/trace/helpers/Timing.js.map +1 -1
  82. package/models/trace/helpers/Trace.d.ts +15 -14
  83. package/models/trace/helpers/Trace.js +11 -5
  84. package/models/trace/helpers/Trace.js.map +1 -1
  85. package/models/trace/helpers/TreeHelpers.d.ts +2 -2
  86. package/models/trace/helpers/TreeHelpers.js +5 -5
  87. package/models/trace/helpers/TreeHelpers.js.map +1 -1
  88. package/models/trace/insights/CLSCulprits.d.ts +46 -1
  89. package/models/trace/insights/CLSCulprits.js +85 -10
  90. package/models/trace/insights/CLSCulprits.js.map +1 -1
  91. package/models/trace/insights/Common.d.ts +11 -7
  92. package/models/trace/insights/Common.js +85 -26
  93. package/models/trace/insights/Common.js.map +1 -1
  94. package/models/trace/insights/DOMSize.d.ts +26 -1
  95. package/models/trace/insights/DOMSize.js +44 -7
  96. package/models/trace/insights/DOMSize.js.map +1 -1
  97. package/models/trace/insights/DocumentLatency.d.ts +42 -5
  98. package/models/trace/insights/DocumentLatency.js +64 -8
  99. package/models/trace/insights/DocumentLatency.js.map +1 -1
  100. package/models/trace/insights/FontDisplay.d.ts +8 -2
  101. package/models/trace/insights/FontDisplay.js +10 -4
  102. package/models/trace/insights/FontDisplay.js.map +1 -1
  103. package/models/trace/insights/ForcedReflow.d.ts +30 -0
  104. package/models/trace/insights/ForcedReflow.js +181 -0
  105. package/models/trace/insights/ForcedReflow.js.map +1 -0
  106. package/models/trace/insights/ImageDelivery.d.ts +15 -1
  107. package/models/trace/insights/ImageDelivery.js +21 -1
  108. package/models/trace/insights/ImageDelivery.js.map +1 -1
  109. package/models/trace/insights/InteractionToNextPaint.d.ts +26 -1
  110. package/models/trace/insights/InteractionToNextPaint.js +27 -1
  111. package/models/trace/insights/InteractionToNextPaint.js.map +1 -1
  112. package/models/trace/insights/LCPDiscovery.d.ts +30 -6
  113. package/models/trace/insights/LCPDiscovery.js +36 -8
  114. package/models/trace/insights/LCPDiscovery.js.map +1 -1
  115. package/models/trace/insights/LCPPhases.d.ts +36 -7
  116. package/models/trace/insights/LCPPhases.js +37 -8
  117. package/models/trace/insights/LCPPhases.js.map +1 -1
  118. package/models/trace/insights/LongCriticalNetworkTree.d.ts +22 -0
  119. package/models/trace/insights/LongCriticalNetworkTree.js +40 -0
  120. package/models/trace/insights/LongCriticalNetworkTree.js.map +1 -0
  121. package/models/trace/insights/Models.d.ts +2 -0
  122. package/models/trace/insights/Models.js +2 -0
  123. package/models/trace/insights/Models.js.map +1 -1
  124. package/models/trace/insights/RenderBlocking.d.ts +14 -1
  125. package/models/trace/insights/RenderBlocking.js +14 -1
  126. package/models/trace/insights/RenderBlocking.js.map +1 -1
  127. package/models/trace/insights/SlowCSSSelector.d.ts +27 -2
  128. package/models/trace/insights/SlowCSSSelector.js +27 -2
  129. package/models/trace/insights/SlowCSSSelector.js.map +1 -1
  130. package/models/trace/insights/ThirdParties.d.ts +13 -4
  131. package/models/trace/insights/ThirdParties.js +21 -12
  132. package/models/trace/insights/ThirdParties.js.map +1 -1
  133. package/models/trace/insights/Viewport.d.ts +2 -1
  134. package/models/trace/insights/Viewport.js +2 -1
  135. package/models/trace/insights/Viewport.js.map +1 -1
  136. package/models/trace/insights/insights-tsconfig.json +2 -0
  137. package/models/trace/insights/types.d.ts +27 -8
  138. package/models/trace/insights/types.js.map +1 -1
  139. package/models/trace/lantern/graph/BaseNode.d.ts +1 -1
  140. package/models/trace/lantern/graph/BaseNode.js +1 -1
  141. package/models/trace/lantern/graph/BaseNode.js.map +1 -1
  142. package/models/trace/lantern/graph/CPUNode.d.ts +1 -1
  143. package/models/trace/lantern/graph/CPUNode.js.map +1 -1
  144. package/models/trace/lantern/graph/NetworkNode.d.ts +1 -1
  145. package/models/trace/lantern/graph/NetworkNode.js.map +1 -1
  146. package/models/trace/lantern/metrics/FirstContentfulPaint.d.ts +1 -1
  147. package/models/trace/lantern/metrics/FirstContentfulPaint.js.map +1 -1
  148. package/models/trace/lantern/simulation/ConnectionPool.js +1 -1
  149. package/models/trace/lantern/simulation/ConnectionPool.js.map +1 -1
  150. package/models/trace/lantern/simulation/Simulator.d.ts +2 -2
  151. package/models/trace/lantern/simulation/Simulator.js +3 -3
  152. package/models/trace/lantern/simulation/Simulator.js.map +1 -1
  153. package/models/trace/lantern/types/Lantern.d.ts +2 -2
  154. package/models/trace/lantern/types/Lantern.js.map +1 -1
  155. package/models/trace/root-causes/LayoutShift.d.ts +1 -1
  156. package/models/trace/root-causes/LayoutShift.js +4 -4
  157. package/models/trace/root-causes/LayoutShift.js.map +1 -1
  158. package/models/trace/types/Configuration.d.ts +15 -0
  159. package/models/trace/types/Configuration.js.map +1 -1
  160. package/models/trace/types/File.d.ts +4 -4
  161. package/models/trace/types/File.js.map +1 -1
  162. package/models/trace/types/Timing.d.ts +7 -13
  163. package/models/trace/types/Timing.js +5 -2
  164. package/models/trace/types/Timing.js.map +1 -1
  165. package/models/trace/types/TraceEvents.d.ts +145 -110
  166. package/models/trace/types/TraceEvents.js +9 -7
  167. package/models/trace/types/TraceEvents.js.map +1 -1
  168. package/package.json +1 -1
  169. package/test/test-trace-engine.mjs +18 -14
  170. package/core/platform/PromiseUtilities.d.ts +0 -10
  171. package/core/platform/PromiseUtilities.js +0 -18
  172. package/core/platform/PromiseUtilities.js.map +0 -1
  173. package/core/platform/SetUtilities.d.ts +0 -2
  174. package/core/platform/SetUtilities.js +0 -23
  175. package/core/platform/SetUtilities.js.map +0 -1
  176. package/models/trace/EntriesFilter.d.ts +0 -72
  177. package/models/trace/EntriesFilter.js +0 -296
  178. package/models/trace/EntriesFilter.js.map +0 -1
  179. package/models/trace/LegacyTracingModel.js.map +0 -1
  180. package/models/trace/extras/URLForEntry.d.ts +0 -13
  181. package/models/trace/extras/URLForEntry.js +0 -44
  182. package/models/trace/extras/URLForEntry.js.map +0 -1
  183. package/models/trace/handlers/EnhancedTracesHandler.d.ts +0 -48
  184. package/models/trace/handlers/EnhancedTracesHandler.js +0 -165
  185. package/models/trace/handlers/EnhancedTracesHandler.js.map +0 -1
  186. package/models/trace/insights/CumulativeLayoutShift.d.ts +0 -34
  187. package/models/trace/insights/CumulativeLayoutShift.js +0 -209
  188. package/models/trace/insights/CumulativeLayoutShift.js.map +0 -1
  189. package/models/trace/insights/InsightRunners.d.ts +0 -6
  190. package/models/trace/insights/InsightRunners.js +0 -10
  191. package/models/trace/insights/InsightRunners.js.map +0 -1
  192. package/models/trace/insights/LargestContentfulPaint.d.ts +0 -25
  193. package/models/trace/insights/LargestContentfulPaint.js +0 -93
  194. package/models/trace/insights/LargestContentfulPaint.js.map +0 -1
  195. package/models/trace/lantern/BaseNode.d.ts +0 -91
  196. package/models/trace/lantern/BaseNode.js +0 -268
  197. package/models/trace/lantern/BaseNode.js.map +0 -1
  198. package/models/trace/lantern/CPUNode.d.ts +0 -24
  199. package/models/trace/lantern/CPUNode.js +0 -64
  200. package/models/trace/lantern/CPUNode.js.map +0 -1
  201. package/models/trace/lantern/LanternError.d.ts +0 -3
  202. package/models/trace/lantern/LanternError.js +0 -7
  203. package/models/trace/lantern/LanternError.js.map +0 -1
  204. package/models/trace/lantern/MetricsModule.d.ts +0 -11
  205. package/models/trace/lantern/MetricsModule.js +0 -14
  206. package/models/trace/lantern/MetricsModule.js.map +0 -1
  207. package/models/trace/lantern/NetworkNode.d.ts +0 -22
  208. package/models/trace/lantern/NetworkNode.js +0 -83
  209. package/models/trace/lantern/NetworkNode.js.map +0 -1
  210. package/models/trace/lantern/PageDependencyGraph.d.ts +0 -43
  211. package/models/trace/lantern/PageDependencyGraph.js +0 -509
  212. package/models/trace/lantern/PageDependencyGraph.js.map +0 -1
  213. package/models/trace/lantern/SimulationModule.d.ts +0 -17
  214. package/models/trace/lantern/SimulationModule.js +0 -13
  215. package/models/trace/lantern/SimulationModule.js.map +0 -1
  216. package/models/trace/lantern/simulation/NetworkAnalyzer.d.ts +0 -112
  217. package/models/trace/lantern/simulation/NetworkAnalyzer.js +0 -486
  218. package/models/trace/lantern/simulation/NetworkAnalyzer.js.map +0 -1
@@ -1,31 +1,136 @@
1
1
  {
2
+ "models/trace/insights/CLSCulprits.ts | animation": {
3
+ "message": "Animation"
4
+ },
2
5
  "models/trace/insights/CLSCulprits.ts | description": {
3
6
  "message": "Layout shifts occur when elements move absent any user interaction. [Investigate the causes of layout shifts](https://web.dev/articles/optimize-cls), such as elements being added, removed, or their fonts changing as the page loads."
4
7
  },
8
+ "models/trace/insights/CLSCulprits.ts | fontRequest": {
9
+ "message": "Font request"
10
+ },
11
+ "models/trace/insights/CLSCulprits.ts | injectedIframe": {
12
+ "message": "Injected iframe"
13
+ },
14
+ "models/trace/insights/CLSCulprits.ts | layoutShiftCluster": {
15
+ "message": "Layout shift cluster @ {PH1}"
16
+ },
17
+ "models/trace/insights/CLSCulprits.ts | noCulprits": {
18
+ "message": "Could not detect any layout shift culprits"
19
+ },
20
+ "models/trace/insights/CLSCulprits.ts | noLayoutShifts": {
21
+ "message": "No layout shifts"
22
+ },
5
23
  "models/trace/insights/CLSCulprits.ts | title": {
6
24
  "message": "Layout shift culprits"
7
25
  },
26
+ "models/trace/insights/CLSCulprits.ts | topCulprits": {
27
+ "message": "Top layout shift culprits"
28
+ },
29
+ "models/trace/insights/CLSCulprits.ts | unsizedImages": {
30
+ "message": "Unsized Images"
31
+ },
32
+ "models/trace/insights/CLSCulprits.ts | worstCluster": {
33
+ "message": "Worst cluster"
34
+ },
35
+ "models/trace/insights/CLSCulprits.ts | worstLayoutShiftCluster": {
36
+ "message": "Worst layout shift cluster"
37
+ },
8
38
  "models/trace/insights/DocumentLatency.ts | description": {
9
39
  "message": "Your first network request is the most important. Reduce its latency by avoiding redirects, ensuring a fast server response, and enabling text compression."
10
40
  },
41
+ "models/trace/insights/DocumentLatency.ts | failedRedirects": {
42
+ "message": "Had redirects"
43
+ },
44
+ "models/trace/insights/DocumentLatency.ts | failedServerResponseTime": {
45
+ "message": "Server responded slowly"
46
+ },
47
+ "models/trace/insights/DocumentLatency.ts | failedTextCompression": {
48
+ "message": "No compression applied"
49
+ },
50
+ "models/trace/insights/DocumentLatency.ts | passingRedirects": {
51
+ "message": "Avoids redirects"
52
+ },
53
+ "models/trace/insights/DocumentLatency.ts | passingServerResponseTime": {
54
+ "message": "Server responds quickly"
55
+ },
56
+ "models/trace/insights/DocumentLatency.ts | passingTextCompression": {
57
+ "message": "Applies text compression"
58
+ },
59
+ "models/trace/insights/DocumentLatency.ts | redirectsLabel": {
60
+ "message": "Redirects"
61
+ },
62
+ "models/trace/insights/DocumentLatency.ts | serverResponseTimeLabel": {
63
+ "message": "Server response time"
64
+ },
11
65
  "models/trace/insights/DocumentLatency.ts | title": {
12
66
  "message": "Document request latency"
13
67
  },
68
+ "models/trace/insights/DocumentLatency.ts | uncompressedDownload": {
69
+ "message": "Uncompressed download"
70
+ },
14
71
  "models/trace/insights/DOMSize.ts | description": {
15
72
  "message": "A large DOM can increase the duration of style calculations and layout reflows, impacting page responsiveness. A large DOM will also increase memory usage. [Learn how to avoid an excessive DOM size](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
16
73
  },
74
+ "models/trace/insights/DOMSize.ts | element": {
75
+ "message": "Element"
76
+ },
77
+ "models/trace/insights/DOMSize.ts | maxChildren": {
78
+ "message": "Most children"
79
+ },
80
+ "models/trace/insights/DOMSize.ts | maxDOMDepth": {
81
+ "message": "DOM depth"
82
+ },
83
+ "models/trace/insights/DOMSize.ts | statistic": {
84
+ "message": "Statistic"
85
+ },
17
86
  "models/trace/insights/DOMSize.ts | title": {
18
87
  "message": "Optimize DOM size"
19
88
  },
89
+ "models/trace/insights/DOMSize.ts | totalElements": {
90
+ "message": "Total elements"
91
+ },
92
+ "models/trace/insights/DOMSize.ts | value": {
93
+ "message": "Value"
94
+ },
20
95
  "models/trace/insights/FontDisplay.ts | description": {
21
96
  "message": "Consider setting [font-display](https://developer.chrome.com/blog/font-display) to swap or optional to ensure text is consistently visible. swap can be further optimized to mitigate layout shifts with [font metric overrides](https://developer.chrome.com/blog/font-fallbacks)."
22
97
  },
98
+ "models/trace/insights/FontDisplay.ts | fontColumn": {
99
+ "message": "Font"
100
+ },
23
101
  "models/trace/insights/FontDisplay.ts | title": {
24
102
  "message": "Font display"
25
103
  },
104
+ "models/trace/insights/FontDisplay.ts | wastedTimeColumn": {
105
+ "message": "Wasted time"
106
+ },
107
+ "models/trace/insights/ForcedReflow.ts | description": {
108
+ "message": "Many APIs, typically reading layout geometry, force the rendering engine to pause script execution in order to calculate the style and layout. Learn more about [forced reflow](https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing#avoid-forced-synchronous-layouts) and its mitigations."
109
+ },
110
+ "models/trace/insights/ForcedReflow.ts | relatedStackTrace": {
111
+ "message": "Stack trace"
112
+ },
113
+ "models/trace/insights/ForcedReflow.ts | title": {
114
+ "message": "Forced reflow"
115
+ },
116
+ "models/trace/insights/ForcedReflow.ts | topTimeConsumingFunctionCall": {
117
+ "message": "Top function call"
118
+ },
119
+ "models/trace/insights/ForcedReflow.ts | totalReflowTime": {
120
+ "message": "Total reflow time"
121
+ },
26
122
  "models/trace/insights/ImageDelivery.ts | description": {
27
123
  "message": "Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)"
28
124
  },
125
+ "models/trace/insights/ImageDelivery.ts | noOptimizableImages": {
126
+ "message": "No optimizable images"
127
+ },
128
+ "models/trace/insights/ImageDelivery.ts | optimizeFile": {
129
+ "message": "Optimize file size"
130
+ },
131
+ "models/trace/insights/ImageDelivery.ts | others": {
132
+ "message": "{PH1} others"
133
+ },
29
134
  "models/trace/insights/ImageDelivery.ts | title": {
30
135
  "message": "Improve image delivery"
31
136
  },
@@ -44,36 +149,141 @@
44
149
  "models/trace/insights/InteractionToNextPaint.ts | description": {
45
150
  "message": "Start investigating with the longest phase. [Delays can be minimized](https://web.dev/articles/optimize-inp#optimize_interactions). To reduce processing duration, [optimize the main-thread costs](https://web.dev/articles/optimize-long-tasks), often JS."
46
151
  },
152
+ "models/trace/insights/InteractionToNextPaint.ts | duration": {
153
+ "message": "Duration"
154
+ },
155
+ "models/trace/insights/InteractionToNextPaint.ts | inputDelay": {
156
+ "message": "Input delay"
157
+ },
158
+ "models/trace/insights/InteractionToNextPaint.ts | noInteractions": {
159
+ "message": "No interactions detected"
160
+ },
161
+ "models/trace/insights/InteractionToNextPaint.ts | phase": {
162
+ "message": "Phase"
163
+ },
164
+ "models/trace/insights/InteractionToNextPaint.ts | presentationDelay": {
165
+ "message": "Presentation delay"
166
+ },
167
+ "models/trace/insights/InteractionToNextPaint.ts | processingDuration": {
168
+ "message": "Processing duration"
169
+ },
47
170
  "models/trace/insights/InteractionToNextPaint.ts | title": {
48
171
  "message": "INP by phase"
49
172
  },
50
173
  "models/trace/insights/LCPDiscovery.ts | description": {
51
174
  "message": "Optimize LCP by making the LCP image [discoverable](https://web.dev/articles/optimize-lcp#1_eliminate_resource_load_delay) from the HTML immediately, and [avoiding lazy-loading](https://web.dev/articles/lcp-lazy-loading)"
52
175
  },
176
+ "models/trace/insights/LCPDiscovery.ts | fetchPriorityApplied": {
177
+ "message": "fetchpriority=high applied"
178
+ },
179
+ "models/trace/insights/LCPDiscovery.ts | lazyLoadNotApplied": {
180
+ "message": "lazy load not applied"
181
+ },
182
+ "models/trace/insights/LCPDiscovery.ts | lcpLoadDelay": {
183
+ "message": "LCP image loaded {PH1} after earliest start point."
184
+ },
185
+ "models/trace/insights/LCPDiscovery.ts | noLcp": {
186
+ "message": "No LCP detected"
187
+ },
188
+ "models/trace/insights/LCPDiscovery.ts | noLcpResource": {
189
+ "message": "No LCP resource detected because the LCP is not an image"
190
+ },
191
+ "models/trace/insights/LCPDiscovery.ts | requestDiscoverable": {
192
+ "message": "Request is discoverable in initial document"
193
+ },
53
194
  "models/trace/insights/LCPDiscovery.ts | title": {
54
195
  "message": "LCP request discovery"
55
196
  },
56
197
  "models/trace/insights/LCPPhases.ts | description": {
57
198
  "message": "Each [phase has specific improvement strategies](https://web.dev/articles/optimize-lcp#lcp-breakdown). Ideally, most of the LCP time should be spent on loading the resources, not within delays."
58
199
  },
200
+ "models/trace/insights/LCPPhases.ts | elementRenderDelay": {
201
+ "message": "Element render delay"
202
+ },
203
+ "models/trace/insights/LCPPhases.ts | noLcp": {
204
+ "message": "No LCP detected"
205
+ },
206
+ "models/trace/insights/LCPPhases.ts | percentLCP": {
207
+ "message": "% of LCP"
208
+ },
209
+ "models/trace/insights/LCPPhases.ts | phase": {
210
+ "message": "Phase"
211
+ },
212
+ "models/trace/insights/LCPPhases.ts | resourceLoadDelay": {
213
+ "message": "Resource load delay"
214
+ },
215
+ "models/trace/insights/LCPPhases.ts | resourceLoadDuration": {
216
+ "message": "Resource load duration"
217
+ },
218
+ "models/trace/insights/LCPPhases.ts | timeToFirstByte": {
219
+ "message": "Time to first byte"
220
+ },
59
221
  "models/trace/insights/LCPPhases.ts | title": {
60
222
  "message": "LCP by phase"
61
223
  },
224
+ "models/trace/insights/LongCriticalNetworkTree.ts | description": {
225
+ "message": "[Avoid chaining critical requests](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains) by reducing the length of chains, reducing the download size of resources, or deferring the download of unnecessary resources to improve page load."
226
+ },
227
+ "models/trace/insights/LongCriticalNetworkTree.ts | noLongCriticalNetworkTree": {
228
+ "message": "No rendering tasks impacted by long critical network tree"
229
+ },
230
+ "models/trace/insights/LongCriticalNetworkTree.ts | title": {
231
+ "message": "Long critical network tree"
232
+ },
62
233
  "models/trace/insights/RenderBlocking.ts | description": {
63
234
  "message": "Requests are blocking the page's initial render, which may delay LCP. [Deferring or inlining](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources/) can move these network requests out of the critical path."
64
235
  },
236
+ "models/trace/insights/RenderBlocking.ts | duration": {
237
+ "message": "Duration"
238
+ },
239
+ "models/trace/insights/RenderBlocking.ts | noRenderBlocking": {
240
+ "message": "No render blocking requests for this navigation"
241
+ },
242
+ "models/trace/insights/RenderBlocking.ts | renderBlockingRequest": {
243
+ "message": "Request"
244
+ },
65
245
  "models/trace/insights/RenderBlocking.ts | title": {
66
246
  "message": "Render blocking requests"
67
247
  },
68
248
  "models/trace/insights/SlowCSSSelector.ts | description": {
69
249
  "message": "If Recalculate Style costs remain high, selector optimization can reduce them. [Optimize the selectors](https://developer.chrome.com/docs/devtools/performance/selector-stats) with both high elapsed time and high slow-path %. Simpler selectors, fewer selectors, a smaller DOM, and a shallower DOM will all reduce matching costs."
70
250
  },
251
+ "models/trace/insights/SlowCSSSelector.ts | elapsed": {
252
+ "message": "Elapsed time"
253
+ },
254
+ "models/trace/insights/SlowCSSSelector.ts | enableSelectorData": {
255
+ "message": "No CSS selector data was found. CSS selector stats need to be enabled in the performance panel settings."
256
+ },
257
+ "models/trace/insights/SlowCSSSelector.ts | matchAttempts": {
258
+ "message": "Match attempts"
259
+ },
260
+ "models/trace/insights/SlowCSSSelector.ts | matchCount": {
261
+ "message": "Match count"
262
+ },
71
263
  "models/trace/insights/SlowCSSSelector.ts | title": {
72
264
  "message": "CSS Selector costs"
73
265
  },
266
+ "models/trace/insights/SlowCSSSelector.ts | topSelectors": {
267
+ "message": "Top selectors"
268
+ },
269
+ "models/trace/insights/SlowCSSSelector.ts | total": {
270
+ "message": "Total"
271
+ },
272
+ "models/trace/insights/ThirdParties.ts | columnBlockingTime": {
273
+ "message": "Blocking time"
274
+ },
275
+ "models/trace/insights/ThirdParties.ts | columnThirdParty": {
276
+ "message": "Third party"
277
+ },
278
+ "models/trace/insights/ThirdParties.ts | columnTransferSize": {
279
+ "message": "Transfer size"
280
+ },
74
281
  "models/trace/insights/ThirdParties.ts | description": {
75
282
  "message": "Third party code can significantly impact load performance. [Reduce and defer loading of third party code](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/) to prioritize your page's content."
76
283
  },
284
+ "models/trace/insights/ThirdParties.ts | noThirdParties": {
285
+ "message": "No third parties found"
286
+ },
77
287
  "models/trace/insights/ThirdParties.ts | title": {
78
288
  "message": "Third parties"
79
289
  },
@@ -1,31 +1,136 @@
1
1
  {
2
+ "models/trace/insights/CLSCulprits.ts | animation": {
3
+ "message": "A\u0302n\u0301i\u0302m\u0301a\u0302t\u0301i\u0302o\u0301n\u0302"
4
+ },
2
5
  "models/trace/insights/CLSCulprits.ts | description": {
3
6
  "message": "L\u0302a\u0301y\u0302o\u0301u\u0302t\u0301 s\u0302h\u0301i\u0302f\u0301t\u0302s\u0301 o\u0302c\u0301c\u0302u\u0301r\u0302 w\u0301h\u0302e\u0301n\u0302 e\u0301l\u0302e\u0301m\u0302e\u0301n\u0302t\u0301s\u0302 m\u0301o\u0302v\u0301e\u0302 a\u0301b\u0302s\u0301e\u0302n\u0301t\u0302 a\u0301n\u0302y\u0301 u\u0302s\u0301e\u0302r\u0301 i\u0302n\u0301t\u0302e\u0301r\u0302a\u0301c\u0302t\u0301i\u0302o\u0301n\u0302. [I\u0301n\u0302v\u0301e\u0302s\u0301t\u0302i\u0301g\u0302a\u0301t\u0302e\u0301 t\u0302h\u0301e\u0302 c\u0301a\u0302u\u0301s\u0302e\u0301s\u0302 o\u0301f\u0302 l\u0301a\u0302y\u0301o\u0302u\u0301t\u0302 s\u0301h\u0302i\u0301f\u0302t\u0301s\u0302](https://web.dev/articles/optimize-cls), s\u0301u\u0302c\u0301h\u0302 a\u0301s\u0302 e\u0301l\u0302e\u0301m\u0302e\u0301n\u0302t\u0301s\u0302 b\u0301e\u0302i\u0301n\u0302g\u0301 a\u0302d\u0301d\u0302e\u0301d\u0302, r\u0301e\u0302m\u0301o\u0302v\u0301e\u0302d\u0301, o\u0302r\u0301 t\u0302h\u0301e\u0302i\u0301r\u0302 f\u0301o\u0302n\u0301t\u0302s\u0301 c\u0302h\u0301a\u0302n\u0301g\u0302i\u0301n\u0302g\u0301 a\u0302s\u0301 t\u0302h\u0301e\u0302 p\u0301a\u0302g\u0301e\u0302 l\u0301o\u0302a\u0301d\u0302s\u0301."
4
7
  },
8
+ "models/trace/insights/CLSCulprits.ts | fontRequest": {
9
+ "message": "F\u0302o\u0301n\u0302t\u0301 r\u0302e\u0301q\u0302u\u0301e\u0302s\u0301t\u0302"
10
+ },
11
+ "models/trace/insights/CLSCulprits.ts | injectedIframe": {
12
+ "message": "I\u0302n\u0301j\u0302e\u0301c\u0302t\u0301e\u0302d\u0301 i\u0302f\u0301r\u0302a\u0301m\u0302e\u0301"
13
+ },
14
+ "models/trace/insights/CLSCulprits.ts | layoutShiftCluster": {
15
+ "message": "L\u0302a\u0301y\u0302o\u0301u\u0302t\u0301 s\u0302h\u0301i\u0302f\u0301t\u0302 c\u0301l\u0302u\u0301s\u0302t\u0301e\u0302r\u0301 @ {PH1}"
16
+ },
17
+ "models/trace/insights/CLSCulprits.ts | noCulprits": {
18
+ "message": "C\u0302o\u0301u\u0302l\u0301d\u0302 n\u0301o\u0302t\u0301 d\u0302e\u0301t\u0302e\u0301c\u0302t\u0301 a\u0302n\u0301y\u0302 l\u0301a\u0302y\u0301o\u0302u\u0301t\u0302 s\u0301h\u0302i\u0301f\u0302t\u0301 c\u0302u\u0301l\u0302p\u0301r\u0302i\u0301t\u0302s\u0301"
19
+ },
20
+ "models/trace/insights/CLSCulprits.ts | noLayoutShifts": {
21
+ "message": "N\u0302o\u0301 l\u0302a\u0301y\u0302o\u0301u\u0302t\u0301 s\u0302h\u0301i\u0302f\u0301t\u0302s\u0301"
22
+ },
5
23
  "models/trace/insights/CLSCulprits.ts | title": {
6
24
  "message": "L\u0302a\u0301y\u0302o\u0301u\u0302t\u0301 s\u0302h\u0301i\u0302f\u0301t\u0302 c\u0301u\u0302l\u0301p\u0302r\u0301i\u0302t\u0301s\u0302"
7
25
  },
26
+ "models/trace/insights/CLSCulprits.ts | topCulprits": {
27
+ "message": "T\u0302o\u0301p\u0302 l\u0301a\u0302y\u0301o\u0302u\u0301t\u0302 s\u0301h\u0302i\u0301f\u0302t\u0301 c\u0302u\u0301l\u0302p\u0301r\u0302i\u0301t\u0302s\u0301"
28
+ },
29
+ "models/trace/insights/CLSCulprits.ts | unsizedImages": {
30
+ "message": "U\u0302n\u0301s\u0302i\u0301z\u0302e\u0301d\u0302 I\u0301m\u0302a\u0301g\u0302e\u0301s\u0302"
31
+ },
32
+ "models/trace/insights/CLSCulprits.ts | worstCluster": {
33
+ "message": "W\u0302o\u0301r\u0302s\u0301t\u0302 c\u0301l\u0302u\u0301s\u0302t\u0301e\u0302r\u0301"
34
+ },
35
+ "models/trace/insights/CLSCulprits.ts | worstLayoutShiftCluster": {
36
+ "message": "W\u0302o\u0301r\u0302s\u0301t\u0302 l\u0301a\u0302y\u0301o\u0302u\u0301t\u0302 s\u0301h\u0302i\u0301f\u0302t\u0301 c\u0302l\u0301u\u0302s\u0301t\u0302e\u0301r\u0302"
37
+ },
8
38
  "models/trace/insights/DocumentLatency.ts | description": {
9
39
  "message": "Y\u0302o\u0301u\u0302r\u0301 f\u0302i\u0301r\u0302s\u0301t\u0302 n\u0301e\u0302t\u0301w\u0302o\u0301r\u0302k\u0301 r\u0302e\u0301q\u0302u\u0301e\u0302s\u0301t\u0302 i\u0301s\u0302 t\u0301h\u0302e\u0301 m\u0302o\u0301s\u0302t\u0301 i\u0302m\u0301p\u0302o\u0301r\u0302t\u0301a\u0302n\u0301t\u0302. R\u0301e\u0302d\u0301u\u0302c\u0301e\u0302 i\u0301t\u0302s\u0301 l\u0302a\u0301t\u0302e\u0301n\u0302c\u0301y\u0302 b\u0301y\u0302 a\u0301v\u0302o\u0301i\u0302d\u0301i\u0302n\u0301g\u0302 r\u0301e\u0302d\u0301i\u0302r\u0301e\u0302c\u0301t\u0302s\u0301, e\u0302n\u0301s\u0302u\u0301r\u0302i\u0301n\u0302g\u0301 a\u0302 f\u0301a\u0302s\u0301t\u0302 s\u0301e\u0302r\u0301v\u0302e\u0301r\u0302 r\u0301e\u0302s\u0301p\u0302o\u0301n\u0302s\u0301e\u0302, a\u0301n\u0302d\u0301 e\u0302n\u0301a\u0302b\u0301l\u0302i\u0301n\u0302g\u0301 t\u0302e\u0301x\u0302t\u0301 c\u0302o\u0301m\u0302p\u0301r\u0302e\u0301s\u0302s\u0301i\u0302o\u0301n\u0302."
10
40
  },
41
+ "models/trace/insights/DocumentLatency.ts | failedRedirects": {
42
+ "message": "H\u0302a\u0301d\u0302 r\u0301e\u0302d\u0301i\u0302r\u0301e\u0302c\u0301t\u0302s\u0301"
43
+ },
44
+ "models/trace/insights/DocumentLatency.ts | failedServerResponseTime": {
45
+ "message": "S\u0302e\u0301r\u0302v\u0301e\u0302r\u0301 r\u0302e\u0301s\u0302p\u0301o\u0302n\u0301d\u0302e\u0301d\u0302 s\u0301l\u0302o\u0301w\u0302l\u0301y\u0302"
46
+ },
47
+ "models/trace/insights/DocumentLatency.ts | failedTextCompression": {
48
+ "message": "N\u0302o\u0301 c\u0302o\u0301m\u0302p\u0301r\u0302e\u0301s\u0302s\u0301i\u0302o\u0301n\u0302 a\u0301p\u0302p\u0301l\u0302i\u0301e\u0302d\u0301"
49
+ },
50
+ "models/trace/insights/DocumentLatency.ts | passingRedirects": {
51
+ "message": "A\u0302v\u0301o\u0302i\u0301d\u0302s\u0301 r\u0302e\u0301d\u0302i\u0301r\u0302e\u0301c\u0302t\u0301s\u0302"
52
+ },
53
+ "models/trace/insights/DocumentLatency.ts | passingServerResponseTime": {
54
+ "message": "S\u0302e\u0301r\u0302v\u0301e\u0302r\u0301 r\u0302e\u0301s\u0302p\u0301o\u0302n\u0301d\u0302s\u0301 q\u0302u\u0301i\u0302c\u0301k\u0302l\u0301y\u0302"
55
+ },
56
+ "models/trace/insights/DocumentLatency.ts | passingTextCompression": {
57
+ "message": "A\u0302p\u0301p\u0302l\u0301i\u0302e\u0301s\u0302 t\u0301e\u0302x\u0301t\u0302 c\u0301o\u0302m\u0301p\u0302r\u0301e\u0302s\u0301s\u0302i\u0301o\u0302n\u0301"
58
+ },
59
+ "models/trace/insights/DocumentLatency.ts | redirectsLabel": {
60
+ "message": "R\u0302e\u0301d\u0302i\u0301r\u0302e\u0301c\u0302t\u0301s\u0302"
61
+ },
62
+ "models/trace/insights/DocumentLatency.ts | serverResponseTimeLabel": {
63
+ "message": "S\u0302e\u0301r\u0302v\u0301e\u0302r\u0301 r\u0302e\u0301s\u0302p\u0301o\u0302n\u0301s\u0302e\u0301 t\u0302i\u0301m\u0302e\u0301"
64
+ },
11
65
  "models/trace/insights/DocumentLatency.ts | title": {
12
66
  "message": "D\u0302o\u0301c\u0302u\u0301m\u0302e\u0301n\u0302t\u0301 r\u0302e\u0301q\u0302u\u0301e\u0302s\u0301t\u0302 l\u0301a\u0302t\u0301e\u0302n\u0301c\u0302y\u0301"
13
67
  },
68
+ "models/trace/insights/DocumentLatency.ts | uncompressedDownload": {
69
+ "message": "U\u0302n\u0301c\u0302o\u0301m\u0302p\u0301r\u0302e\u0301s\u0302s\u0301e\u0302d\u0301 d\u0302o\u0301w\u0302n\u0301l\u0302o\u0301a\u0302d\u0301"
70
+ },
14
71
  "models/trace/insights/DOMSize.ts | description": {
15
72
  "message": "A\u0302 l\u0301a\u0302r\u0301g\u0302e\u0301 D\u0302O\u0301M\u0302 c\u0301a\u0302n\u0301 i\u0302n\u0301c\u0302r\u0301e\u0302a\u0301s\u0302e\u0301 t\u0302h\u0301e\u0302 d\u0301u\u0302r\u0301a\u0302t\u0301i\u0302o\u0301n\u0302 o\u0301f\u0302 s\u0301t\u0302y\u0301l\u0302e\u0301 c\u0302a\u0301l\u0302c\u0301u\u0302l\u0301a\u0302t\u0301i\u0302o\u0301n\u0302s\u0301 a\u0302n\u0301d\u0302 l\u0301a\u0302y\u0301o\u0302u\u0301t\u0302 r\u0301e\u0302f\u0301l\u0302o\u0301w\u0302s\u0301, i\u0302m\u0301p\u0302a\u0301c\u0302t\u0301i\u0302n\u0301g\u0302 p\u0301a\u0302g\u0301e\u0302 r\u0301e\u0302s\u0301p\u0302o\u0301n\u0302s\u0301i\u0302v\u0301e\u0302n\u0301e\u0302s\u0301s\u0302. A\u0301 l\u0302a\u0301r\u0302g\u0301e\u0302 D\u0301O\u0302M\u0301 w\u0302i\u0301l\u0302l\u0301 a\u0302l\u0301s\u0302o\u0301 i\u0302n\u0301c\u0302r\u0301e\u0302a\u0301s\u0302e\u0301 m\u0302e\u0301m\u0302o\u0301r\u0302y\u0301 u\u0302s\u0301a\u0302g\u0301e\u0302. [L\u0301e\u0302a\u0301r\u0302n\u0301 h\u0302o\u0301w\u0302 t\u0301o\u0302 a\u0301v\u0302o\u0301i\u0302d\u0301 a\u0302n\u0301 e\u0302x\u0301c\u0302e\u0301s\u0302s\u0301i\u0302v\u0301e\u0302 D\u0301O\u0302M\u0301 s\u0302i\u0301z\u0302e\u0301](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
16
73
  },
74
+ "models/trace/insights/DOMSize.ts | element": {
75
+ "message": "E\u0302l\u0301e\u0302m\u0301e\u0302n\u0301t\u0302"
76
+ },
77
+ "models/trace/insights/DOMSize.ts | maxChildren": {
78
+ "message": "M\u0302o\u0301s\u0302t\u0301 c\u0302h\u0301i\u0302l\u0301d\u0302r\u0301e\u0302n\u0301"
79
+ },
80
+ "models/trace/insights/DOMSize.ts | maxDOMDepth": {
81
+ "message": "D\u0302O\u0301M\u0302 d\u0301e\u0302p\u0301t\u0302h\u0301"
82
+ },
83
+ "models/trace/insights/DOMSize.ts | statistic": {
84
+ "message": "S\u0302t\u0301a\u0302t\u0301i\u0302s\u0301t\u0302i\u0301c\u0302"
85
+ },
17
86
  "models/trace/insights/DOMSize.ts | title": {
18
87
  "message": "O\u0302p\u0301t\u0302i\u0301m\u0302i\u0301z\u0302e\u0301 D\u0302O\u0301M\u0302 s\u0301i\u0302z\u0301e\u0302"
19
88
  },
89
+ "models/trace/insights/DOMSize.ts | totalElements": {
90
+ "message": "T\u0302o\u0301t\u0302a\u0301l\u0302 e\u0301l\u0302e\u0301m\u0302e\u0301n\u0302t\u0301s\u0302"
91
+ },
92
+ "models/trace/insights/DOMSize.ts | value": {
93
+ "message": "V\u0302a\u0301l\u0302u\u0301e\u0302"
94
+ },
20
95
  "models/trace/insights/FontDisplay.ts | description": {
21
96
  "message": "C\u0302o\u0301n\u0302s\u0301i\u0302d\u0301e\u0302r\u0301 s\u0302e\u0301t\u0302t\u0301i\u0302n\u0301g\u0302 [font-display](https://developer.chrome.com/blog/font-display) t\u0301o\u0302 swap o\u0301r\u0302 optional t\u0301o\u0302 e\u0301n\u0302s\u0301u\u0302r\u0301e\u0302 t\u0301e\u0302x\u0301t\u0302 i\u0301s\u0302 c\u0301o\u0302n\u0301s\u0302i\u0301s\u0302t\u0301e\u0302n\u0301t\u0302l\u0301y\u0302 v\u0301i\u0302s\u0301i\u0302b\u0301l\u0302e\u0301. swap c\u0302a\u0301n\u0302 b\u0301e\u0302 f\u0301u\u0302r\u0301t\u0302h\u0301e\u0302r\u0301 o\u0302p\u0301t\u0302i\u0301m\u0302i\u0301z\u0302e\u0301d\u0302 t\u0301o\u0302 m\u0301i\u0302t\u0301i\u0302g\u0301a\u0302t\u0301e\u0302 l\u0301a\u0302y\u0301o\u0302u\u0301t\u0302 s\u0301h\u0302i\u0301f\u0302t\u0301s\u0302 w\u0301i\u0302t\u0301h\u0302 [f\u0301o\u0302n\u0301t\u0302 m\u0301e\u0302t\u0301r\u0302i\u0301c\u0302 o\u0301v\u0302e\u0301r\u0302r\u0301i\u0302d\u0301e\u0302s\u0301](https://developer.chrome.com/blog/font-fallbacks)."
22
97
  },
98
+ "models/trace/insights/FontDisplay.ts | fontColumn": {
99
+ "message": "F\u0302o\u0301n\u0302t\u0301"
100
+ },
23
101
  "models/trace/insights/FontDisplay.ts | title": {
24
102
  "message": "F\u0302o\u0301n\u0302t\u0301 d\u0302i\u0301s\u0302p\u0301l\u0302a\u0301y\u0302"
25
103
  },
104
+ "models/trace/insights/FontDisplay.ts | wastedTimeColumn": {
105
+ "message": "W\u0302a\u0301s\u0302t\u0301e\u0302d\u0301 t\u0302i\u0301m\u0302e\u0301"
106
+ },
107
+ "models/trace/insights/ForcedReflow.ts | description": {
108
+ "message": "M\u0302a\u0301n\u0302y\u0301 A\u0302P\u0301I\u0302s\u0301, t\u0302y\u0301p\u0302i\u0301c\u0302a\u0301l\u0302l\u0301y\u0302 r\u0301e\u0302a\u0301d\u0302i\u0301n\u0302g\u0301 l\u0302a\u0301y\u0302o\u0301u\u0302t\u0301 g\u0302e\u0301o\u0302m\u0301e\u0302t\u0301r\u0302y\u0301, f\u0302o\u0301r\u0302c\u0301e\u0302 t\u0301h\u0302e\u0301 r\u0302e\u0301n\u0302d\u0301e\u0302r\u0301i\u0302n\u0301g\u0302 e\u0301n\u0302g\u0301i\u0302n\u0301e\u0302 t\u0301o\u0302 p\u0301a\u0302u\u0301s\u0302e\u0301 s\u0302c\u0301r\u0302i\u0301p\u0302t\u0301 e\u0302x\u0301e\u0302c\u0301u\u0302t\u0301i\u0302o\u0301n\u0302 i\u0301n\u0302 o\u0301r\u0302d\u0301e\u0302r\u0301 t\u0302o\u0301 c\u0302a\u0301l\u0302c\u0301u\u0302l\u0301a\u0302t\u0301e\u0302 t\u0301h\u0302e\u0301 s\u0302t\u0301y\u0302l\u0301e\u0302 a\u0301n\u0302d\u0301 l\u0302a\u0301y\u0302o\u0301u\u0302t\u0301. L\u0302e\u0301a\u0302r\u0301n\u0302 m\u0301o\u0302r\u0301e\u0302 a\u0301b\u0302o\u0301u\u0302t\u0301 [f\u0302o\u0301r\u0302c\u0301e\u0302d\u0301 r\u0302e\u0301f\u0302l\u0301o\u0302w\u0301](https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing#avoid-forced-synchronous-layouts) a\u0302n\u0301d\u0302 i\u0301t\u0302s\u0301 m\u0302i\u0301t\u0302i\u0301g\u0302a\u0301t\u0302i\u0301o\u0302n\u0301s\u0302."
109
+ },
110
+ "models/trace/insights/ForcedReflow.ts | relatedStackTrace": {
111
+ "message": "S\u0302t\u0301a\u0302c\u0301k\u0302 t\u0301r\u0302a\u0301c\u0302e\u0301"
112
+ },
113
+ "models/trace/insights/ForcedReflow.ts | title": {
114
+ "message": "F\u0302o\u0301r\u0302c\u0301e\u0302d\u0301 r\u0302e\u0301f\u0302l\u0301o\u0302w\u0301"
115
+ },
116
+ "models/trace/insights/ForcedReflow.ts | topTimeConsumingFunctionCall": {
117
+ "message": "T\u0302o\u0301p\u0302 f\u0301u\u0302n\u0301c\u0302t\u0301i\u0302o\u0301n\u0302 c\u0301a\u0302l\u0301l\u0302"
118
+ },
119
+ "models/trace/insights/ForcedReflow.ts | totalReflowTime": {
120
+ "message": "T\u0302o\u0301t\u0302a\u0301l\u0302 r\u0301e\u0302f\u0301l\u0302o\u0301w\u0302 t\u0301i\u0302m\u0301e\u0302"
121
+ },
26
122
  "models/trace/insights/ImageDelivery.ts | description": {
27
123
  "message": "R\u0302e\u0301d\u0302u\u0301c\u0302i\u0301n\u0302g\u0301 t\u0302h\u0301e\u0302 d\u0301o\u0302w\u0301n\u0302l\u0301o\u0302a\u0301d\u0302 t\u0301i\u0302m\u0301e\u0302 o\u0301f\u0302 i\u0301m\u0302a\u0301g\u0302e\u0301s\u0302 c\u0301a\u0302n\u0301 i\u0302m\u0301p\u0302r\u0301o\u0302v\u0301e\u0302 t\u0301h\u0302e\u0301 p\u0302e\u0301r\u0302c\u0301e\u0302i\u0301v\u0302e\u0301d\u0302 l\u0301o\u0302a\u0301d\u0302 t\u0301i\u0302m\u0301e\u0302 o\u0301f\u0302 t\u0301h\u0302e\u0301 p\u0302a\u0301g\u0302e\u0301 a\u0302n\u0301d\u0302 L\u0301C\u0302P\u0301. [L\u0302e\u0301a\u0302r\u0301n\u0302 m\u0301o\u0302r\u0301e\u0302 a\u0301b\u0302o\u0301u\u0302t\u0301 o\u0302p\u0301t\u0302i\u0301m\u0302i\u0301z\u0302i\u0301n\u0302g\u0301 i\u0302m\u0301a\u0302g\u0301e\u0302 s\u0301i\u0302z\u0301e\u0302](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)"
28
124
  },
125
+ "models/trace/insights/ImageDelivery.ts | noOptimizableImages": {
126
+ "message": "N\u0302o\u0301 o\u0302p\u0301t\u0302i\u0301m\u0302i\u0301z\u0302a\u0301b\u0302l\u0301e\u0302 i\u0301m\u0302a\u0301g\u0302e\u0301s\u0302"
127
+ },
128
+ "models/trace/insights/ImageDelivery.ts | optimizeFile": {
129
+ "message": "O\u0302p\u0301t\u0302i\u0301m\u0302i\u0301z\u0302e\u0301 f\u0302i\u0301l\u0302e\u0301 s\u0302i\u0301z\u0302e\u0301"
130
+ },
131
+ "models/trace/insights/ImageDelivery.ts | others": {
132
+ "message": "{PH1} o\u0302t\u0301h\u0302e\u0301r\u0302s\u0301"
133
+ },
29
134
  "models/trace/insights/ImageDelivery.ts | title": {
30
135
  "message": "I\u0302m\u0301p\u0302r\u0301o\u0302v\u0301e\u0302 i\u0301m\u0302a\u0301g\u0302e\u0301 d\u0302e\u0301l\u0302i\u0301v\u0302e\u0301r\u0302y\u0301"
31
136
  },
@@ -44,36 +149,141 @@
44
149
  "models/trace/insights/InteractionToNextPaint.ts | description": {
45
150
  "message": "S\u0302t\u0301a\u0302r\u0301t\u0302 i\u0301n\u0302v\u0301e\u0302s\u0301t\u0302i\u0301g\u0302a\u0301t\u0302i\u0301n\u0302g\u0301 w\u0302i\u0301t\u0302h\u0301 t\u0302h\u0301e\u0302 l\u0301o\u0302n\u0301g\u0302e\u0301s\u0302t\u0301 p\u0302h\u0301a\u0302s\u0301e\u0302. [D\u0301e\u0302l\u0301a\u0302y\u0301s\u0302 c\u0301a\u0302n\u0301 b\u0302e\u0301 m\u0302i\u0301n\u0302i\u0301m\u0302i\u0301z\u0302e\u0301d\u0302](https://web.dev/articles/optimize-inp#optimize_interactions). T\u0301o\u0302 r\u0301e\u0302d\u0301u\u0302c\u0301e\u0302 p\u0301r\u0302o\u0301c\u0302e\u0301s\u0302s\u0301i\u0302n\u0301g\u0302 d\u0301u\u0302r\u0301a\u0302t\u0301i\u0302o\u0301n\u0302, [o\u0301p\u0302t\u0301i\u0302m\u0301i\u0302z\u0301e\u0302 t\u0301h\u0302e\u0301 m\u0302a\u0301i\u0302n\u0301-t\u0302h\u0301r\u0302e\u0301a\u0302d\u0301 c\u0302o\u0301s\u0302t\u0301s\u0302](https://web.dev/articles/optimize-long-tasks), o\u0301f\u0302t\u0301e\u0302n\u0301 J\u0302S\u0301."
46
151
  },
152
+ "models/trace/insights/InteractionToNextPaint.ts | duration": {
153
+ "message": "D\u0302u\u0301r\u0302a\u0301t\u0302i\u0301o\u0302n\u0301"
154
+ },
155
+ "models/trace/insights/InteractionToNextPaint.ts | inputDelay": {
156
+ "message": "I\u0302n\u0301p\u0302u\u0301t\u0302 d\u0301e\u0302l\u0301a\u0302y\u0301"
157
+ },
158
+ "models/trace/insights/InteractionToNextPaint.ts | noInteractions": {
159
+ "message": "N\u0302o\u0301 i\u0302n\u0301t\u0302e\u0301r\u0302a\u0301c\u0302t\u0301i\u0302o\u0301n\u0302s\u0301 d\u0302e\u0301t\u0302e\u0301c\u0302t\u0301e\u0302d\u0301"
160
+ },
161
+ "models/trace/insights/InteractionToNextPaint.ts | phase": {
162
+ "message": "P\u0302h\u0301a\u0302s\u0301e\u0302"
163
+ },
164
+ "models/trace/insights/InteractionToNextPaint.ts | presentationDelay": {
165
+ "message": "P\u0302r\u0301e\u0302s\u0301e\u0302n\u0301t\u0302a\u0301t\u0302i\u0301o\u0302n\u0301 d\u0302e\u0301l\u0302a\u0301y\u0302"
166
+ },
167
+ "models/trace/insights/InteractionToNextPaint.ts | processingDuration": {
168
+ "message": "P\u0302r\u0301o\u0302c\u0301e\u0302s\u0301s\u0302i\u0301n\u0302g\u0301 d\u0302u\u0301r\u0302a\u0301t\u0302i\u0301o\u0302n\u0301"
169
+ },
47
170
  "models/trace/insights/InteractionToNextPaint.ts | title": {
48
171
  "message": "I\u0302N\u0301P\u0302 b\u0301y\u0302 p\u0301h\u0302a\u0301s\u0302e\u0301"
49
172
  },
50
173
  "models/trace/insights/LCPDiscovery.ts | description": {
51
174
  "message": "O\u0302p\u0301t\u0302i\u0301m\u0302i\u0301z\u0302e\u0301 L\u0302C\u0301P\u0302 b\u0301y\u0302 m\u0301a\u0302k\u0301i\u0302n\u0301g\u0302 t\u0301h\u0302e\u0301 L\u0302C\u0301P\u0302 i\u0301m\u0302a\u0301g\u0302e\u0301 [d\u0302i\u0301s\u0302c\u0301o\u0302v\u0301e\u0302r\u0301a\u0302b\u0301l\u0302e\u0301](https://web.dev/articles/optimize-lcp#1_eliminate_resource_load_delay) f\u0302r\u0301o\u0302m\u0301 t\u0302h\u0301e\u0302 H\u0301T\u0302M\u0301L\u0302 i\u0301m\u0302m\u0301e\u0302d\u0301i\u0302a\u0301t\u0302e\u0301l\u0302y\u0301, a\u0302n\u0301d\u0302 [a\u0301v\u0302o\u0301i\u0302d\u0301i\u0302n\u0301g\u0302 l\u0301a\u0302z\u0301y\u0302-l\u0301o\u0302a\u0301d\u0302i\u0301n\u0302g\u0301](https://web.dev/articles/lcp-lazy-loading)"
52
175
  },
176
+ "models/trace/insights/LCPDiscovery.ts | fetchPriorityApplied": {
177
+ "message": "f\u0302e\u0301t\u0302c\u0301h\u0302p\u0301r\u0302i\u0301o\u0302r\u0301i\u0302t\u0301y\u0302=h\u0301i\u0302g\u0301h\u0302 a\u0301p\u0302p\u0301l\u0302i\u0301e\u0302d\u0301"
178
+ },
179
+ "models/trace/insights/LCPDiscovery.ts | lazyLoadNotApplied": {
180
+ "message": "l\u0302a\u0301z\u0302y\u0301 l\u0302o\u0301a\u0302d\u0301 n\u0302o\u0301t\u0302 a\u0301p\u0302p\u0301l\u0302i\u0301e\u0302d\u0301"
181
+ },
182
+ "models/trace/insights/LCPDiscovery.ts | lcpLoadDelay": {
183
+ "message": "L\u0302C\u0301P\u0302 i\u0301m\u0302a\u0301g\u0302e\u0301 l\u0302o\u0301a\u0302d\u0301e\u0302d\u0301 {PH1} a\u0302f\u0301t\u0302e\u0301r\u0302 e\u0301a\u0302r\u0301l\u0302i\u0301e\u0302s\u0301t\u0302 s\u0301t\u0302a\u0301r\u0302t\u0301 p\u0302o\u0301i\u0302n\u0301t\u0302."
184
+ },
185
+ "models/trace/insights/LCPDiscovery.ts | noLcp": {
186
+ "message": "N\u0302o\u0301 L\u0302C\u0301P\u0302 d\u0301e\u0302t\u0301e\u0302c\u0301t\u0302e\u0301d\u0302"
187
+ },
188
+ "models/trace/insights/LCPDiscovery.ts | noLcpResource": {
189
+ "message": "N\u0302o\u0301 L\u0302C\u0301P\u0302 r\u0301e\u0302s\u0301o\u0302u\u0301r\u0302c\u0301e\u0302 d\u0301e\u0302t\u0301e\u0302c\u0301t\u0302e\u0301d\u0302 b\u0301e\u0302c\u0301a\u0302u\u0301s\u0302e\u0301 t\u0302h\u0301e\u0302 L\u0301C\u0302P\u0301 i\u0302s\u0301 n\u0302o\u0301t\u0302 a\u0301n\u0302 i\u0301m\u0302a\u0301g\u0302e\u0301"
190
+ },
191
+ "models/trace/insights/LCPDiscovery.ts | requestDiscoverable": {
192
+ "message": "R\u0302e\u0301q\u0302u\u0301e\u0302s\u0301t\u0302 i\u0301s\u0302 d\u0301i\u0302s\u0301c\u0302o\u0301v\u0302e\u0301r\u0302a\u0301b\u0302l\u0301e\u0302 i\u0301n\u0302 i\u0301n\u0302i\u0301t\u0302i\u0301a\u0302l\u0301 d\u0302o\u0301c\u0302u\u0301m\u0302e\u0301n\u0302t\u0301"
193
+ },
53
194
  "models/trace/insights/LCPDiscovery.ts | title": {
54
195
  "message": "L\u0302C\u0301P\u0302 r\u0301e\u0302q\u0301u\u0302e\u0301s\u0302t\u0301 d\u0302i\u0301s\u0302c\u0301o\u0302v\u0301e\u0302r\u0301y\u0302"
55
196
  },
56
197
  "models/trace/insights/LCPPhases.ts | description": {
57
198
  "message": "E\u0302a\u0301c\u0302h\u0301 [p\u0302h\u0301a\u0302s\u0301e\u0302 h\u0301a\u0302s\u0301 s\u0302p\u0301e\u0302c\u0301i\u0302f\u0301i\u0302c\u0301 i\u0302m\u0301p\u0302r\u0301o\u0302v\u0301e\u0302m\u0301e\u0302n\u0301t\u0302 s\u0301t\u0302r\u0301a\u0302t\u0301e\u0302g\u0301i\u0302e\u0301s\u0302](https://web.dev/articles/optimize-lcp#lcp-breakdown). I\u0301d\u0302e\u0301a\u0302l\u0301l\u0302y\u0301, m\u0302o\u0301s\u0302t\u0301 o\u0302f\u0301 t\u0302h\u0301e\u0302 L\u0301C\u0302P\u0301 t\u0302i\u0301m\u0302e\u0301 s\u0302h\u0301o\u0302u\u0301l\u0302d\u0301 b\u0302e\u0301 s\u0302p\u0301e\u0302n\u0301t\u0302 o\u0301n\u0302 l\u0301o\u0302a\u0301d\u0302i\u0301n\u0302g\u0301 t\u0302h\u0301e\u0302 r\u0301e\u0302s\u0301o\u0302u\u0301r\u0302c\u0301e\u0302s\u0301, n\u0302o\u0301t\u0302 w\u0301i\u0302t\u0301h\u0302i\u0301n\u0302 d\u0301e\u0302l\u0301a\u0302y\u0301s\u0302."
58
199
  },
200
+ "models/trace/insights/LCPPhases.ts | elementRenderDelay": {
201
+ "message": "E\u0302l\u0301e\u0302m\u0301e\u0302n\u0301t\u0302 r\u0301e\u0302n\u0301d\u0302e\u0301r\u0302 d\u0301e\u0302l\u0301a\u0302y\u0301"
202
+ },
203
+ "models/trace/insights/LCPPhases.ts | noLcp": {
204
+ "message": "N\u0302o\u0301 L\u0302C\u0301P\u0302 d\u0301e\u0302t\u0301e\u0302c\u0301t\u0302e\u0301d\u0302"
205
+ },
206
+ "models/trace/insights/LCPPhases.ts | percentLCP": {
207
+ "message": "% o\u0302f\u0301 L\u0302C\u0301P\u0302"
208
+ },
209
+ "models/trace/insights/LCPPhases.ts | phase": {
210
+ "message": "P\u0302h\u0301a\u0302s\u0301e\u0302"
211
+ },
212
+ "models/trace/insights/LCPPhases.ts | resourceLoadDelay": {
213
+ "message": "R\u0302e\u0301s\u0302o\u0301u\u0302r\u0301c\u0302e\u0301 l\u0302o\u0301a\u0302d\u0301 d\u0302e\u0301l\u0302a\u0301y\u0302"
214
+ },
215
+ "models/trace/insights/LCPPhases.ts | resourceLoadDuration": {
216
+ "message": "R\u0302e\u0301s\u0302o\u0301u\u0302r\u0301c\u0302e\u0301 l\u0302o\u0301a\u0302d\u0301 d\u0302u\u0301r\u0302a\u0301t\u0302i\u0301o\u0302n\u0301"
217
+ },
218
+ "models/trace/insights/LCPPhases.ts | timeToFirstByte": {
219
+ "message": "T\u0302i\u0301m\u0302e\u0301 t\u0302o\u0301 f\u0302i\u0301r\u0302s\u0301t\u0302 b\u0301y\u0302t\u0301e\u0302"
220
+ },
59
221
  "models/trace/insights/LCPPhases.ts | title": {
60
222
  "message": "L\u0302C\u0301P\u0302 b\u0301y\u0302 p\u0301h\u0302a\u0301s\u0302e\u0301"
61
223
  },
224
+ "models/trace/insights/LongCriticalNetworkTree.ts | description": {
225
+ "message": "[A\u0302v\u0301o\u0302i\u0301d\u0302 c\u0301h\u0302a\u0301i\u0302n\u0301i\u0302n\u0301g\u0302 c\u0301r\u0302i\u0301t\u0302i\u0301c\u0302a\u0301l\u0302 r\u0301e\u0302q\u0301u\u0302e\u0301s\u0302t\u0301s\u0302](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains) b\u0301y\u0302 r\u0301e\u0302d\u0301u\u0302c\u0301i\u0302n\u0301g\u0302 t\u0301h\u0302e\u0301 l\u0302e\u0301n\u0302g\u0301t\u0302h\u0301 o\u0302f\u0301 c\u0302h\u0301a\u0302i\u0301n\u0302s\u0301, r\u0302e\u0301d\u0302u\u0301c\u0302i\u0301n\u0302g\u0301 t\u0302h\u0301e\u0302 d\u0301o\u0302w\u0301n\u0302l\u0301o\u0302a\u0301d\u0302 s\u0301i\u0302z\u0301e\u0302 o\u0301f\u0302 r\u0301e\u0302s\u0301o\u0302u\u0301r\u0302c\u0301e\u0302s\u0301, o\u0302r\u0301 d\u0302e\u0301f\u0302e\u0301r\u0302r\u0301i\u0302n\u0301g\u0302 t\u0301h\u0302e\u0301 d\u0302o\u0301w\u0302n\u0301l\u0302o\u0301a\u0302d\u0301 o\u0302f\u0301 u\u0302n\u0301n\u0302e\u0301c\u0302e\u0301s\u0302s\u0301a\u0302r\u0301y\u0302 r\u0301e\u0302s\u0301o\u0302u\u0301r\u0302c\u0301e\u0302s\u0301 t\u0302o\u0301 i\u0302m\u0301p\u0302r\u0301o\u0302v\u0301e\u0302 p\u0301a\u0302g\u0301e\u0302 l\u0301o\u0302a\u0301d\u0302."
226
+ },
227
+ "models/trace/insights/LongCriticalNetworkTree.ts | noLongCriticalNetworkTree": {
228
+ "message": "N\u0302o\u0301 r\u0302e\u0301n\u0302d\u0301e\u0302r\u0301i\u0302n\u0301g\u0302 t\u0301a\u0302s\u0301k\u0302s\u0301 i\u0302m\u0301p\u0302a\u0301c\u0302t\u0301e\u0302d\u0301 b\u0302y\u0301 l\u0302o\u0301n\u0302g\u0301 c\u0302r\u0301i\u0302t\u0301i\u0302c\u0301a\u0302l\u0301 n\u0302e\u0301t\u0302w\u0301o\u0302r\u0301k\u0302 t\u0301r\u0302e\u0301e\u0302"
229
+ },
230
+ "models/trace/insights/LongCriticalNetworkTree.ts | title": {
231
+ "message": "L\u0302o\u0301n\u0302g\u0301 c\u0302r\u0301i\u0302t\u0301i\u0302c\u0301a\u0302l\u0301 n\u0302e\u0301t\u0302w\u0301o\u0302r\u0301k\u0302 t\u0301r\u0302e\u0301e\u0302"
232
+ },
62
233
  "models/trace/insights/RenderBlocking.ts | description": {
63
234
  "message": "R\u0302e\u0301q\u0302u\u0301e\u0302s\u0301t\u0302s\u0301 a\u0302r\u0301e\u0302 b\u0301l\u0302o\u0301c\u0302k\u0301i\u0302n\u0301g\u0302 t\u0301h\u0302e\u0301 p\u0302a\u0301g\u0302e\u0301's\u0302 i\u0301n\u0302i\u0301t\u0302i\u0301a\u0302l\u0301 r\u0302e\u0301n\u0302d\u0301e\u0302r\u0301, w\u0302h\u0301i\u0302c\u0301h\u0302 m\u0301a\u0302y\u0301 d\u0302e\u0301l\u0302a\u0301y\u0302 L\u0301C\u0302P\u0301. [D\u0302e\u0301f\u0302e\u0301r\u0302r\u0301i\u0302n\u0301g\u0302 o\u0301r\u0302 i\u0301n\u0302l\u0301i\u0302n\u0301i\u0302n\u0301g\u0302](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources/) c\u0301a\u0302n\u0301 m\u0302o\u0301v\u0302e\u0301 t\u0302h\u0301e\u0302s\u0301e\u0302 n\u0301e\u0302t\u0301w\u0302o\u0301r\u0302k\u0301 r\u0302e\u0301q\u0302u\u0301e\u0302s\u0301t\u0302s\u0301 o\u0302u\u0301t\u0302 o\u0301f\u0302 t\u0301h\u0302e\u0301 c\u0302r\u0301i\u0302t\u0301i\u0302c\u0301a\u0302l\u0301 p\u0302a\u0301t\u0302h\u0301."
64
235
  },
236
+ "models/trace/insights/RenderBlocking.ts | duration": {
237
+ "message": "D\u0302u\u0301r\u0302a\u0301t\u0302i\u0301o\u0302n\u0301"
238
+ },
239
+ "models/trace/insights/RenderBlocking.ts | noRenderBlocking": {
240
+ "message": "N\u0302o\u0301 r\u0302e\u0301n\u0302d\u0301e\u0302r\u0301 b\u0302l\u0301o\u0302c\u0301k\u0302i\u0301n\u0302g\u0301 r\u0302e\u0301q\u0302u\u0301e\u0302s\u0301t\u0302s\u0301 f\u0302o\u0301r\u0302 t\u0301h\u0302i\u0301s\u0302 n\u0301a\u0302v\u0301i\u0302g\u0301a\u0302t\u0301i\u0302o\u0301n\u0302"
241
+ },
242
+ "models/trace/insights/RenderBlocking.ts | renderBlockingRequest": {
243
+ "message": "R\u0302e\u0301q\u0302u\u0301e\u0302s\u0301t\u0302"
244
+ },
65
245
  "models/trace/insights/RenderBlocking.ts | title": {
66
246
  "message": "R\u0302e\u0301n\u0302d\u0301e\u0302r\u0301 b\u0302l\u0301o\u0302c\u0301k\u0302i\u0301n\u0302g\u0301 r\u0302e\u0301q\u0302u\u0301e\u0302s\u0301t\u0302s\u0301"
67
247
  },
68
248
  "models/trace/insights/SlowCSSSelector.ts | description": {
69
249
  "message": "I\u0302f\u0301 R\u0302e\u0301c\u0302a\u0301l\u0302c\u0301u\u0302l\u0301a\u0302t\u0301e\u0302 S\u0301t\u0302y\u0301l\u0302e\u0301 c\u0302o\u0301s\u0302t\u0301s\u0302 r\u0301e\u0302m\u0301a\u0302i\u0301n\u0302 h\u0301i\u0302g\u0301h\u0302, s\u0301e\u0302l\u0301e\u0302c\u0301t\u0302o\u0301r\u0302 o\u0301p\u0302t\u0301i\u0302m\u0301i\u0302z\u0301a\u0302t\u0301i\u0302o\u0301n\u0302 c\u0301a\u0302n\u0301 r\u0302e\u0301d\u0302u\u0301c\u0302e\u0301 t\u0302h\u0301e\u0302m\u0301. [O\u0302p\u0301t\u0302i\u0301m\u0302i\u0301z\u0302e\u0301 t\u0302h\u0301e\u0302 s\u0301e\u0302l\u0301e\u0302c\u0301t\u0302o\u0301r\u0302s\u0301](https://developer.chrome.com/docs/devtools/performance/selector-stats) w\u0302i\u0301t\u0302h\u0301 b\u0302o\u0301t\u0302h\u0301 h\u0302i\u0301g\u0302h\u0301 e\u0302l\u0301a\u0302p\u0301s\u0302e\u0301d\u0302 t\u0301i\u0302m\u0301e\u0302 a\u0301n\u0302d\u0301 h\u0302i\u0301g\u0302h\u0301 s\u0302l\u0301o\u0302w\u0301-p\u0302a\u0301t\u0302h\u0301 %. S\u0302i\u0301m\u0302p\u0301l\u0302e\u0301r\u0302 s\u0301e\u0302l\u0301e\u0302c\u0301t\u0302o\u0301r\u0302s\u0301, f\u0302e\u0301w\u0302e\u0301r\u0302 s\u0301e\u0302l\u0301e\u0302c\u0301t\u0302o\u0301r\u0302s\u0301, a\u0302 s\u0301m\u0302a\u0301l\u0302l\u0301e\u0302r\u0301 D\u0302O\u0301M\u0302, a\u0301n\u0302d\u0301 a\u0302 s\u0301h\u0302a\u0301l\u0302l\u0301o\u0302w\u0301e\u0302r\u0301 D\u0302O\u0301M\u0302 w\u0301i\u0302l\u0301l\u0302 a\u0301l\u0302l\u0301 r\u0302e\u0301d\u0302u\u0301c\u0302e\u0301 m\u0302a\u0301t\u0302c\u0301h\u0302i\u0301n\u0302g\u0301 c\u0302o\u0301s\u0302t\u0301s\u0302."
70
250
  },
251
+ "models/trace/insights/SlowCSSSelector.ts | elapsed": {
252
+ "message": "E\u0302l\u0301a\u0302p\u0301s\u0302e\u0301d\u0302 t\u0301i\u0302m\u0301e\u0302"
253
+ },
254
+ "models/trace/insights/SlowCSSSelector.ts | enableSelectorData": {
255
+ "message": "N\u0302o\u0301 C\u0302S\u0301S\u0302 s\u0301e\u0302l\u0301e\u0302c\u0301t\u0302o\u0301r\u0302 d\u0301a\u0302t\u0301a\u0302 w\u0301a\u0302s\u0301 f\u0302o\u0301u\u0302n\u0301d\u0302. C\u0301S\u0302S\u0301 s\u0302e\u0301l\u0302e\u0301c\u0302t\u0301o\u0302r\u0301 s\u0302t\u0301a\u0302t\u0301s\u0302 n\u0301e\u0302e\u0301d\u0302 t\u0301o\u0302 b\u0301e\u0302 e\u0301n\u0302a\u0301b\u0302l\u0301e\u0302d\u0301 i\u0302n\u0301 t\u0302h\u0301e\u0302 p\u0301e\u0302r\u0301f\u0302o\u0301r\u0302m\u0301a\u0302n\u0301c\u0302e\u0301 p\u0302a\u0301n\u0302e\u0301l\u0302 s\u0301e\u0302t\u0301t\u0302i\u0301n\u0302g\u0301s\u0302."
256
+ },
257
+ "models/trace/insights/SlowCSSSelector.ts | matchAttempts": {
258
+ "message": "M\u0302a\u0301t\u0302c\u0301h\u0302 a\u0301t\u0302t\u0301e\u0302m\u0301p\u0302t\u0301s\u0302"
259
+ },
260
+ "models/trace/insights/SlowCSSSelector.ts | matchCount": {
261
+ "message": "M\u0302a\u0301t\u0302c\u0301h\u0302 c\u0301o\u0302u\u0301n\u0302t\u0301"
262
+ },
71
263
  "models/trace/insights/SlowCSSSelector.ts | title": {
72
264
  "message": "C\u0302S\u0301S\u0302 S\u0301e\u0302l\u0301e\u0302c\u0301t\u0302o\u0301r\u0302 c\u0301o\u0302s\u0301t\u0302s\u0301"
73
265
  },
266
+ "models/trace/insights/SlowCSSSelector.ts | topSelectors": {
267
+ "message": "T\u0302o\u0301p\u0302 s\u0301e\u0302l\u0301e\u0302c\u0301t\u0302o\u0301r\u0302s\u0301"
268
+ },
269
+ "models/trace/insights/SlowCSSSelector.ts | total": {
270
+ "message": "T\u0302o\u0301t\u0302a\u0301l\u0302"
271
+ },
272
+ "models/trace/insights/ThirdParties.ts | columnBlockingTime": {
273
+ "message": "B\u0302l\u0301o\u0302c\u0301k\u0302i\u0301n\u0302g\u0301 t\u0302i\u0301m\u0302e\u0301"
274
+ },
275
+ "models/trace/insights/ThirdParties.ts | columnThirdParty": {
276
+ "message": "T\u0302h\u0301i\u0302r\u0301d\u0302 p\u0301a\u0302r\u0301t\u0302y\u0301"
277
+ },
278
+ "models/trace/insights/ThirdParties.ts | columnTransferSize": {
279
+ "message": "T\u0302r\u0301a\u0302n\u0301s\u0302f\u0301e\u0302r\u0301 s\u0302i\u0301z\u0302e\u0301"
280
+ },
74
281
  "models/trace/insights/ThirdParties.ts | description": {
75
282
  "message": "T\u0302h\u0301i\u0302r\u0301d\u0302 p\u0301a\u0302r\u0301t\u0302y\u0301 c\u0302o\u0301d\u0302e\u0301 c\u0302a\u0301n\u0302 s\u0301i\u0302g\u0301n\u0302i\u0301f\u0302i\u0301c\u0302a\u0301n\u0302t\u0301l\u0302y\u0301 i\u0302m\u0301p\u0302a\u0301c\u0302t\u0301 l\u0302o\u0301a\u0302d\u0301 p\u0302e\u0301r\u0302f\u0301o\u0302r\u0301m\u0302a\u0301n\u0302c\u0301e\u0302. [R\u0301e\u0302d\u0301u\u0302c\u0301e\u0302 a\u0301n\u0302d\u0301 d\u0302e\u0301f\u0302e\u0301r\u0302 l\u0301o\u0302a\u0301d\u0302i\u0301n\u0302g\u0301 o\u0302f\u0301 t\u0302h\u0301i\u0302r\u0301d\u0302 p\u0301a\u0302r\u0301t\u0302y\u0301 c\u0302o\u0301d\u0302e\u0301](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/) t\u0302o\u0301 p\u0302r\u0301i\u0302o\u0301r\u0302i\u0301t\u0302i\u0301z\u0302e\u0301 y\u0302o\u0301u\u0302r\u0301 p\u0302a\u0301g\u0302e\u0301's\u0302 c\u0301o\u0302n\u0301t\u0302e\u0301n\u0302t\u0301."
76
283
  },
284
+ "models/trace/insights/ThirdParties.ts | noThirdParties": {
285
+ "message": "N\u0302o\u0301 t\u0302h\u0301i\u0302r\u0301d\u0302 p\u0301a\u0302r\u0301t\u0302i\u0301e\u0302s\u0301 f\u0302o\u0301u\u0302n\u0301d\u0302"
286
+ },
77
287
  "models/trace/insights/ThirdParties.ts | title": {
78
288
  "message": "T\u0302h\u0301i\u0302r\u0301d\u0302 p\u0301a\u0302r\u0301t\u0302i\u0301e\u0302s\u0301"
79
289
  },
@@ -13,6 +13,12 @@ export declare class CPUProfileDataModel extends ProfileTreeModel {
13
13
  profileEndTime: number;
14
14
  timestamps: number[];
15
15
  samples: number[] | undefined;
16
+ /**
17
+ * Contains trace ids assigned to samples, if any. Trace ids are
18
+ * keyed by the sample index in the profile. These are only created
19
+ * for CPU profiles coming from traces.
20
+ */
21
+ traceIds?: Record<string, number>;
16
22
  lines?: number[];
17
23
  totalHitCount: number;
18
24
  profileHead: CPUProfileNode;
@@ -74,4 +80,5 @@ export type ExtendedProfileNode = Protocol.Profiler.ProfileNode & {
74
80
  export type ExtendedProfile = Protocol.Profiler.Profile & {
75
81
  nodes: Protocol.Profiler.ProfileNode[] | ExtendedProfileNode[];
76
82
  lines?: number[];
83
+ traceIds?: Record<string, number>;
77
84
  };
@@ -44,6 +44,12 @@ export class CPUProfileDataModel extends ProfileTreeModel {
44
44
  profileEndTime;
45
45
  timestamps;
46
46
  samples;
47
+ /**
48
+ * Contains trace ids assigned to samples, if any. Trace ids are
49
+ * keyed by the sample index in the profile. These are only created
50
+ * for CPU profiles coming from traces.
51
+ */
52
+ traceIds;
47
53
  lines;
48
54
  totalHitCount;
49
55
  profileHead;
@@ -76,9 +82,10 @@ export class CPUProfileDataModel extends ProfileTreeModel {
76
82
  this.profileEndTime = profile.endTime / 1000;
77
83
  this.timestamps = this.convertTimeDeltas(profile);
78
84
  }
85
+ this.traceIds = profile.traceIds;
79
86
  this.samples = profile.samples;
80
87
  // Lines are available only in profiles coming from tracing.
81
- // Elements in the lines array have a 1 to 1 correspondance with
88
+ // Elements in the lines array have a 1 to 1 correspondence with
82
89
  // samples, by array position. They can be 1 or 0 and indicate if
83
90
  // there is line data for a given sample, i.e. if a given sample
84
91
  // needs to be included to calculate the line level execution time
@@ -308,7 +315,7 @@ export class CPUProfileDataModel extends ProfileTreeModel {
308
315
  // apart when they shouldn't.
309
316
  // Here's a workaround for that. When there's a single (program) sample
310
317
  // between two call stacks sharing the same bottom node, it is replaced
311
- // with the preceeding sample.
318
+ // with the preceding sample.
312
319
  const samples = this.samples;
313
320
  if (!samples) {
314
321
  return;