@paulirish/trace_engine 0.0.47 → 0.0.49
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.
- package/.tmp/tsbuildinfo/tsconfig.tsbuildinfo +1 -1
- package/core/platform/MimeType.js +3 -0
- package/core/platform/MimeType.js.map +1 -1
- package/core/platform/TypedArrayUtilities.d.ts +2 -1
- package/core/platform/TypedArrayUtilities.js +9 -4
- package/core/platform/TypedArrayUtilities.js.map +1 -1
- package/generated/protocol.d.ts +25 -2
- package/locales/af.json +229 -16
- package/locales/am.json +231 -18
- package/locales/ar.json +229 -16
- package/locales/as.json +231 -18
- package/locales/az.json +231 -18
- package/locales/be.json +228 -15
- package/locales/bg.json +229 -16
- package/locales/bn.json +229 -16
- package/locales/bs.json +229 -16
- package/locales/ca.json +229 -16
- package/locales/cs.json +228 -15
- package/locales/cy.json +231 -18
- package/locales/da.json +230 -17
- package/locales/de.json +228 -15
- package/locales/el.json +229 -16
- package/locales/en-GB.json +229 -16
- package/locales/en-US.json +30 -3
- package/locales/en-XL.json +30 -3
- package/locales/es-419.json +229 -16
- package/locales/es.json +228 -15
- package/locales/et.json +230 -17
- package/locales/eu.json +231 -18
- package/locales/fa.json +230 -17
- package/locales/fi.json +229 -16
- package/locales/fil.json +231 -18
- package/locales/fr-CA.json +230 -17
- package/locales/fr.json +230 -17
- package/locales/gl.json +228 -15
- package/locales/gu.json +230 -17
- package/locales/he.json +229 -16
- package/locales/hi.json +230 -17
- package/locales/hr.json +229 -16
- package/locales/hu.json +229 -16
- package/locales/hy.json +228 -15
- package/locales/id.json +228 -15
- package/locales/is.json +229 -16
- package/locales/it.json +232 -19
- package/locales/ja.json +228 -15
- package/locales/ka.json +230 -17
- package/locales/kk.json +230 -17
- package/locales/km.json +231 -18
- package/locales/kn.json +228 -15
- package/locales/ko.json +229 -16
- package/locales/ky.json +230 -17
- package/locales/lo.json +229 -16
- package/locales/lt.json +229 -16
- package/locales/lv.json +230 -17
- package/locales/mk.json +229 -16
- package/locales/ml.json +230 -17
- package/locales/mn.json +229 -16
- package/locales/mr.json +230 -17
- package/locales/ms.json +229 -16
- package/locales/my.json +231 -18
- package/locales/ne.json +229 -16
- package/locales/nl.json +229 -16
- package/locales/no.json +229 -16
- package/locales/or.json +231 -18
- package/locales/pa.json +228 -15
- package/locales/pl.json +230 -17
- package/locales/pt-PT.json +229 -16
- package/locales/pt.json +229 -16
- package/locales/ro.json +228 -15
- package/locales/ru.json +230 -17
- package/locales/si.json +231 -18
- package/locales/sk.json +229 -16
- package/locales/sl.json +230 -17
- package/locales/sq.json +229 -16
- package/locales/sr-Latn.json +229 -16
- package/locales/sr.json +229 -16
- package/locales/sv.json +229 -16
- package/locales/sw.json +231 -18
- package/locales/ta.json +230 -17
- package/locales/te.json +231 -18
- package/locales/th.json +229 -16
- package/locales/tr.json +230 -17
- package/locales/uk.json +229 -16
- package/locales/ur.json +230 -17
- package/locales/uz.json +229 -16
- package/locales/vi.json +230 -17
- package/locales/zh-HK.json +229 -16
- package/locales/zh-TW.json +230 -17
- package/locales/zh.json +228 -15
- package/locales/zu.json +230 -17
- package/models/trace/Processor.js +40 -11
- package/models/trace/Processor.js.map +1 -1
- package/models/trace/extras/ScriptDuplication.d.ts +27 -8
- package/models/trace/extras/ScriptDuplication.js +27 -26
- package/models/trace/extras/ScriptDuplication.js.map +1 -1
- package/models/trace/extras/StackTraceForEvent.js +7 -0
- package/models/trace/extras/StackTraceForEvent.js.map +1 -1
- package/models/trace/handlers/ExtensionTraceDataHandler.js +14 -9
- package/models/trace/handlers/ExtensionTraceDataHandler.js.map +1 -1
- package/models/trace/handlers/LargestImagePaintHandler.d.ts +1 -1
- package/models/trace/handlers/LargestImagePaintHandler.js +3 -3
- package/models/trace/handlers/LargestImagePaintHandler.js.map +1 -1
- package/models/trace/handlers/MetaHandler.d.ts +13 -0
- package/models/trace/handlers/MetaHandler.js +34 -1
- package/models/trace/handlers/MetaHandler.js.map +1 -1
- package/models/trace/helpers/Network.d.ts +18 -0
- package/models/trace/helpers/Network.js +57 -0
- package/models/trace/helpers/Network.js.map +1 -1
- package/models/trace/helpers/SamplesIntegrator.js +1 -1
- package/models/trace/helpers/SamplesIntegrator.js.map +1 -1
- package/models/trace/helpers/Trace.js +4 -0
- package/models/trace/helpers/Trace.js.map +1 -1
- package/models/trace/insights/CLSCulprits.js +0 -1
- package/models/trace/insights/CLSCulprits.js.map +1 -1
- package/models/trace/insights/DOMSize.js +0 -1
- package/models/trace/insights/DOMSize.js.map +1 -1
- package/models/trace/insights/DocumentLatency.d.ts +2 -1
- package/models/trace/insights/DocumentLatency.js +5 -3
- package/models/trace/insights/DocumentLatency.js.map +1 -1
- package/models/trace/insights/{DuplicateJavaScript.d.ts → DuplicatedJavaScript.d.ts} +6 -1
- package/models/trace/insights/{DuplicateJavaScript.js → DuplicatedJavaScript.js} +15 -6
- package/models/trace/insights/DuplicatedJavaScript.js.map +1 -0
- package/models/trace/insights/FontDisplay.d.ts +1 -2
- package/models/trace/insights/FontDisplay.js +0 -1
- package/models/trace/insights/FontDisplay.js.map +1 -1
- package/models/trace/insights/ForcedReflow.d.ts +22 -2
- package/models/trace/insights/ForcedReflow.js +62 -107
- package/models/trace/insights/ForcedReflow.js.map +1 -1
- package/models/trace/insights/ImageDelivery.js +0 -1
- package/models/trace/insights/ImageDelivery.js.map +1 -1
- package/models/trace/insights/InteractionToNextPaint.js +1 -4
- package/models/trace/insights/InteractionToNextPaint.js.map +1 -1
- package/models/trace/insights/LCPDiscovery.js +5 -8
- package/models/trace/insights/LCPDiscovery.js.map +1 -1
- package/models/trace/insights/LCPPhases.js +4 -8
- package/models/trace/insights/LCPPhases.js.map +1 -1
- package/models/trace/insights/Models.d.ts +2 -1
- package/models/trace/insights/Models.js +2 -1
- package/models/trace/insights/Models.js.map +1 -1
- package/models/trace/insights/NetworkDependencyTree.d.ts +2 -1
- package/models/trace/insights/NetworkDependencyTree.js +9 -6
- package/models/trace/insights/NetworkDependencyTree.js.map +1 -1
- package/models/trace/insights/RenderBlocking.js +1 -4
- package/models/trace/insights/RenderBlocking.js.map +1 -1
- package/models/trace/insights/SlowCSSSelector.js +0 -1
- package/models/trace/insights/SlowCSSSelector.js.map +1 -1
- package/models/trace/insights/Statistics.d.ts +4 -0
- package/models/trace/insights/Statistics.js +7 -0
- package/models/trace/insights/Statistics.js.map +1 -1
- package/models/trace/insights/ThirdParties.js +0 -1
- package/models/trace/insights/ThirdParties.js.map +1 -1
- package/models/trace/insights/UseCache.d.ts +69 -0
- package/models/trace/insights/UseCache.js +189 -0
- package/models/trace/insights/UseCache.js.map +1 -0
- package/models/trace/insights/Viewport.js +0 -3
- package/models/trace/insights/Viewport.js.map +1 -1
- package/models/trace/insights/insights-tsconfig.json +2 -1
- package/models/trace/insights/types.d.ts +3 -15
- package/models/trace/insights/types.js.map +1 -1
- package/models/trace/lantern/types/types-tsconfig.json +1 -1
- package/models/trace/types/Configuration.d.ts +6 -0
- package/models/trace/types/Configuration.js.map +1 -1
- package/models/trace/types/TraceEvents.d.ts +16 -4
- package/models/trace/types/TraceEvents.js +4 -1
- package/models/trace/types/TraceEvents.js.map +1 -1
- package/models/trace/types/types-tsconfig.json +3 -0
- package/package.json +1 -1
- package/test/test-trace-engine.mjs +2 -1
- package/models/trace/insights/DuplicateJavaScript.js.map +0 -1
package/locales/zu.json
CHANGED
|
@@ -59,6 +59,9 @@
|
|
|
59
59
|
"generated/Deprecation.ts | InterestGroupDailyUpdateUrl": {
|
|
60
60
|
"message": "Inkambu ye-dailyUpdateUrl ye-InterestGroups idlule ku-joinAdInterestGroup() iqanjwe kabusha kuya ku-updateUrl, ukubonisa kahle ukuziphatha."
|
|
61
61
|
},
|
|
62
|
+
"generated/Deprecation.ts | IntlV8BreakIterator": {
|
|
63
|
+
"message": "I-Intl.v8BreakIterator ihoxisiwe. Kunalokho sicela usebenzise i-Intl.Segmenter."
|
|
64
|
+
},
|
|
62
65
|
"generated/Deprecation.ts | LocalCSSFileExtensionRejected": {
|
|
63
66
|
"message": "I-CSS ayikwazi ukulayishwa kusukela kuma-URL we-file: ngaphandle kwalapho uma ephela ngesijobelelo sefayela le-.css."
|
|
64
67
|
},
|
|
@@ -78,7 +81,7 @@
|
|
|
78
81
|
"message": "Imvume Yesaziso se-API ingase ingasacelwa ku-iframe ye-cross-origin. Kufanele ucabangele ukucela imvume kuhlaka lwezinga eliphezulu noma ukuvula iwindi elisha esikhundleni salokho."
|
|
79
82
|
},
|
|
80
83
|
"generated/Deprecation.ts | ObsoleteCreateImageBitmapImageOrientationNone": {
|
|
81
|
-
"message": "Ongakukhetha kwe-imageOrientation: 'none' ku-createImageBitmap kuhoxisiwe. Sicela usebenzise i-createImageBitmap
|
|
84
|
+
"message": "Ongakukhetha kwe-imageOrientation: 'none' ku-createImageBitmap kuhoxisiwe. Sicela usebenzise i-createImageBitmap ngokungakhethwa kukho kwe-{imageOrientation: 'from-image'} esikhundleni salokho."
|
|
82
85
|
},
|
|
83
86
|
"generated/Deprecation.ts | ObsoleteWebRtcCipherSuite": {
|
|
84
87
|
"message": "Uzakwenu uxoxisana ngohlobo oluphelelwe yisikhathi (D)TLS. Sicela uhlole nozakwenu ukuze kulungiswe lokhu."
|
|
@@ -155,107 +158,317 @@
|
|
|
155
158
|
"generated/Deprecation.ts | V8SharedArrayBufferConstructedInExtensionWithoutIsolation": {
|
|
156
159
|
"message": "Izandiso kufanele zingene ekuhlukaniseni imvelaphi ehlukene ukuze ziqhubeke nokusebenzisa i-SharedArrayBuffer. Bheka i-https://developer.chrome.com/docs/extensions/mv3/cross-origin-isolation/."
|
|
157
160
|
},
|
|
158
|
-
"generated/Deprecation.ts | WebGPULimitMaxInterStageShaderComponents": {
|
|
159
|
-
"message": "Umkhawulo we-WebGPU maxInterStageShaderComponents uhoxisiwe, kunalokho sebenzisa umkhawulo we-WebGPU maxInterStageShaderVariables."
|
|
160
|
-
},
|
|
161
|
-
"generated/Deprecation.ts | WebSQL": {
|
|
162
|
-
"message": "I-Web SQL ihoxisiwe. Sicela usebenzise i-SQLite WebAssembly noma i-Indexed Database"
|
|
163
|
-
},
|
|
164
161
|
"generated/Deprecation.ts | XHRJSONEncodingDetection": {
|
|
165
162
|
"message": "I-UTF-16 ayisekelwe yimpendulo ye-json ku-XMLHttpRequest"
|
|
166
163
|
},
|
|
167
164
|
"generated/Deprecation.ts | XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload": {
|
|
168
165
|
"message": "Ukuvumelanisa i-XMLHttpRequest kuchungechunge oluyinhloko kuhoxisiwe ngenxa yemiphumela yako elimazayo kumuzwa womsebenzisi wokugcina. Mayelana nosizo olubanzi, hlola i-https://xhr.spec.whatwg.org/."
|
|
169
166
|
},
|
|
170
|
-
"
|
|
171
|
-
"message": "
|
|
167
|
+
"models/trace/insights/CLSCulprits.ts | animation": {
|
|
168
|
+
"message": "Opopayi"
|
|
172
169
|
},
|
|
173
170
|
"models/trace/insights/CLSCulprits.ts | description": {
|
|
174
171
|
"message": "Ukushintsha kwesakhiwo kwenzeka lapho ama-elementi enza ukuxhumana komsebenzisi kungabi khona. [Phenya ngezimbangela zokushintsha kohlaka](https://web.dev/articles/optimize-cls), njengezinto ezengezwayo, ezikhishwayo, noma amafonti awo ashintshayo njengoba ikhasi lilayisha."
|
|
175
172
|
},
|
|
173
|
+
"models/trace/insights/CLSCulprits.ts | fontRequest": {
|
|
174
|
+
"message": "Isicelo sefonti"
|
|
175
|
+
},
|
|
176
|
+
"models/trace/insights/CLSCulprits.ts | injectedIframe": {
|
|
177
|
+
"message": "I-iframe efakiwe"
|
|
178
|
+
},
|
|
179
|
+
"models/trace/insights/CLSCulprits.ts | layoutShiftCluster": {
|
|
180
|
+
"message": "Iqoqo leshift yohlaka ngo-{PH1}"
|
|
181
|
+
},
|
|
182
|
+
"models/trace/insights/CLSCulprits.ts | noCulprits": {
|
|
183
|
+
"message": "Akutholakalanga lutho olugudluza uhlaka"
|
|
184
|
+
},
|
|
185
|
+
"models/trace/insights/CLSCulprits.ts | noLayoutShifts": {
|
|
186
|
+
"message": "Alukho uhlaka lwama-shift"
|
|
187
|
+
},
|
|
176
188
|
"models/trace/insights/CLSCulprits.ts | title": {
|
|
177
189
|
"message": "Izimbangela zeshift yohlaka"
|
|
178
190
|
},
|
|
191
|
+
"models/trace/insights/CLSCulprits.ts | topCulprits": {
|
|
192
|
+
"message": "Izimbangela eziphezulu zokushintsha kohlaka"
|
|
193
|
+
},
|
|
194
|
+
"models/trace/insights/CLSCulprits.ts | unsizedImages": {
|
|
195
|
+
"message": "Izithombe ezingenabo osayizi"
|
|
196
|
+
},
|
|
197
|
+
"models/trace/insights/CLSCulprits.ts | worstCluster": {
|
|
198
|
+
"message": "Iqoqo elibi kakhulu"
|
|
199
|
+
},
|
|
200
|
+
"models/trace/insights/CLSCulprits.ts | worstLayoutShiftCluster": {
|
|
201
|
+
"message": "Iqoqo lokushintsha uhlaka olubi kakhulu"
|
|
202
|
+
},
|
|
179
203
|
"models/trace/insights/DOMSize.ts | description": {
|
|
180
204
|
"message": "I-DOM enkulu ingakhulisa ubude besikhathi sezibalo zesitayela nereflow yohlaka, okuthinta ukuphendula kwekhasi. I-DOM enkulu izophinde yandise ukusetshenziswa kwenkumbulo. [Funda indlela yokugwema usayizi oweqile we-DOM](https://developer.chrome.com/docs/lighthouse/performance/dom-size/)."
|
|
181
205
|
},
|
|
206
|
+
"models/trace/insights/DOMSize.ts | element": {
|
|
207
|
+
"message": "I-elementi"
|
|
208
|
+
},
|
|
209
|
+
"models/trace/insights/DOMSize.ts | maxChildren": {
|
|
210
|
+
"message": "Izingane eziningi"
|
|
211
|
+
},
|
|
212
|
+
"models/trace/insights/DOMSize.ts | maxDOMDepth": {
|
|
213
|
+
"message": "Ukujula kwe-DOM"
|
|
214
|
+
},
|
|
215
|
+
"models/trace/insights/DOMSize.ts | statistic": {
|
|
216
|
+
"message": "Isibalo"
|
|
217
|
+
},
|
|
182
218
|
"models/trace/insights/DOMSize.ts | title": {
|
|
183
219
|
"message": "Lungiselela usayizi weDOM"
|
|
184
220
|
},
|
|
221
|
+
"models/trace/insights/DOMSize.ts | totalElements": {
|
|
222
|
+
"message": "Isamba sama-elementi"
|
|
223
|
+
},
|
|
224
|
+
"models/trace/insights/DOMSize.ts | value": {
|
|
225
|
+
"message": "Inani"
|
|
226
|
+
},
|
|
185
227
|
"models/trace/insights/DocumentLatency.ts | description": {
|
|
186
228
|
"message": "Isicelo sakho sokuqala senethiwekhi sibaluleke kakhulu. Nciphisa ukubambezeleka kwayo ngokugwema ukuqondiswa kabusha, okuqinisekisa impendulo esheshayo yeseva, nokunika amandla ukuminyaniswa kombhalo."
|
|
187
229
|
},
|
|
230
|
+
"models/trace/insights/DocumentLatency.ts | failedRedirects": {
|
|
231
|
+
"message": "Kuye kwaqondiswa kabusha"
|
|
232
|
+
},
|
|
233
|
+
"models/trace/insights/DocumentLatency.ts | failedServerResponseTime": {
|
|
234
|
+
"message": "Iseva ayisabelanga ngokushesha"
|
|
235
|
+
},
|
|
236
|
+
"models/trace/insights/DocumentLatency.ts | failedTextCompression": {
|
|
237
|
+
"message": "Akukho ukuminyanisa okusetshenzisiwe"
|
|
238
|
+
},
|
|
239
|
+
"models/trace/insights/DocumentLatency.ts | passingRedirects": {
|
|
240
|
+
"message": "Kugwema ukuqondisa kabusha"
|
|
241
|
+
},
|
|
242
|
+
"models/trace/insights/DocumentLatency.ts | passingServerResponseTime": {
|
|
243
|
+
"message": "Iseva isabela ngokushesha"
|
|
244
|
+
},
|
|
245
|
+
"models/trace/insights/DocumentLatency.ts | passingTextCompression": {
|
|
246
|
+
"message": "Ifaka ukuminyaniswa kombhalo"
|
|
247
|
+
},
|
|
248
|
+
"models/trace/insights/DocumentLatency.ts | redirectsLabel": {
|
|
249
|
+
"message": "Iqondisa kabusha"
|
|
250
|
+
},
|
|
251
|
+
"models/trace/insights/DocumentLatency.ts | serverResponseTimeLabel": {
|
|
252
|
+
"message": "Isikhathi sokuphendula seseva"
|
|
253
|
+
},
|
|
188
254
|
"models/trace/insights/DocumentLatency.ts | title": {
|
|
189
255
|
"message": "Ukubambezeleka kwesicelo sedokhumenti"
|
|
190
256
|
},
|
|
257
|
+
"models/trace/insights/DocumentLatency.ts | uncompressedDownload": {
|
|
258
|
+
"message": "Ukudawuniloda okungacindezelwe"
|
|
259
|
+
},
|
|
260
|
+
"models/trace/insights/DuplicateJavaScript.ts | description": {
|
|
261
|
+
"message": "Susa amamojula amakhulu, ayimpinda we-JavaScript kwizinqwaba ukuze unciphise amabhayithi angadingekile adliwa ngumsebenzi wenethiwekhi."
|
|
262
|
+
},
|
|
263
|
+
"models/trace/insights/DuplicateJavaScript.ts | title": {
|
|
264
|
+
"message": "Phinda iJavaScript"
|
|
265
|
+
},
|
|
191
266
|
"models/trace/insights/FontDisplay.ts | description": {
|
|
192
267
|
"message": "Cabanga ukusetha i-[font-display](https://developer.chrome.com/blog/font-display) ibe yi-swap noma i-optional ukuze uqinisekise ukuthi umbhalo ubonakala ngokulandelanayo. I-swap ingaqhubeka ilungiselelwe ukuze kungenelelwe ekushintsheni kohlaka [ngokukhishwa kwemethrikhi yefonti](https://developer.chrome.com/blog/font-fallbacks)."
|
|
193
268
|
},
|
|
269
|
+
"models/trace/insights/FontDisplay.ts | fontColumn": {
|
|
270
|
+
"message": "Ifonti"
|
|
271
|
+
},
|
|
194
272
|
"models/trace/insights/FontDisplay.ts | title": {
|
|
195
273
|
"message": "Ukubonisa ifonti"
|
|
196
274
|
},
|
|
275
|
+
"models/trace/insights/FontDisplay.ts | wastedTimeColumn": {
|
|
276
|
+
"message": "Isikhathi esichithiwe"
|
|
277
|
+
},
|
|
197
278
|
"models/trace/insights/ForcedReflow.ts | description": {
|
|
198
279
|
"message": "Ama-API amaningi, ngokuvamile ukufunda ijiyomethri yohlaka, aphoqa injini yokunikezela ukuba imise ukusetshenziswa kwesikriphti ukuze abale isitayela nohlaka. Funda kabanzi mayelana [nereflow ephoqelelwe](https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing#avoid-forced-synchronous-layouts) kanye nezixazululo zayo."
|
|
199
280
|
},
|
|
281
|
+
"models/trace/insights/ForcedReflow.ts | relatedStackTrace": {
|
|
282
|
+
"message": "Ukulandelela istaki"
|
|
283
|
+
},
|
|
200
284
|
"models/trace/insights/ForcedReflow.ts | title": {
|
|
201
285
|
"message": "Ireflow ephoqelelwe"
|
|
202
286
|
},
|
|
287
|
+
"models/trace/insights/ForcedReflow.ts | topTimeConsumingFunctionCall": {
|
|
288
|
+
"message": "Okukhethwayo okuphambili kokufona"
|
|
289
|
+
},
|
|
290
|
+
"models/trace/insights/ForcedReflow.ts | totalReflowTime": {
|
|
291
|
+
"message": "Isamba sesikhathi sereflow"
|
|
292
|
+
},
|
|
203
293
|
"models/trace/insights/ImageDelivery.ts | description": {
|
|
204
294
|
"message": "Ukunciphisa isikhathi sokudawuniloda izithobe kungathuthukisa isikhathi sokulayisha sekhasi esilindelekile kanye ne-LCP. [Funda kabanzi ngokulungiselela ubungakho besithombe](https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/)"
|
|
205
295
|
},
|
|
296
|
+
"models/trace/insights/ImageDelivery.ts | estimatedSavings": {
|
|
297
|
+
"message": "{PH1} (Isilinganiso {PH2})"
|
|
298
|
+
},
|
|
299
|
+
"models/trace/insights/ImageDelivery.ts | noOptimizableImages": {
|
|
300
|
+
"message": "Azikho izithombe ezingathuthukiswa"
|
|
301
|
+
},
|
|
302
|
+
"models/trace/insights/ImageDelivery.ts | optimizeFile": {
|
|
303
|
+
"message": "Lungiselela usayizi wefayela"
|
|
304
|
+
},
|
|
305
|
+
"models/trace/insights/ImageDelivery.ts | others": {
|
|
306
|
+
"message": "Okunye okungu-{PH1}"
|
|
307
|
+
},
|
|
206
308
|
"models/trace/insights/ImageDelivery.ts | title": {
|
|
207
309
|
"message": "Thuthukisa ukudilivwa kwesithombe"
|
|
208
310
|
},
|
|
209
311
|
"models/trace/insights/ImageDelivery.ts | useCompression": {
|
|
210
|
-
"message": "Ukwandisa isici sokuminyanisa isithombe kungase kuthuthukise usayizi wokudawuniloda lesi sithombe.
|
|
312
|
+
"message": "Ukwandisa isici sokuminyanisa isithombe kungase kuthuthukise usayizi wokudawuniloda lesi sithombe."
|
|
211
313
|
},
|
|
212
314
|
"models/trace/insights/ImageDelivery.ts | useModernFormat": {
|
|
213
|
-
"message": "Ukusebenzisa ifomethi yomfanekiso wesimanje (i-WebP, i-AVIF) noma ukwandisa ukuminyaniswa kwesithombe ukuze uthuthukise ukudawunilodwa kukasayizi walesi sithombe.
|
|
315
|
+
"message": "Ukusebenzisa ifomethi yomfanekiso wesimanje (i-WebP, i-AVIF) noma ukwandisa ukuminyaniswa kwesithombe ukuze uthuthukise ukudawunilodwa kukasayizi walesi sithombe."
|
|
214
316
|
},
|
|
215
317
|
"models/trace/insights/ImageDelivery.ts | useResponsiveSize": {
|
|
216
|
-
"message": "Leli fayela lesithombe likhulu kunalokho okudingeka libe yikho ({
|
|
318
|
+
"message": "Leli fayela lesithombe likhulu kunalokho okudingeka libe yikho ({PH1}) ngokwezibalo zalo ezibonisiwe ({PH2}). Sebenzisa izithombe ezisabelayo ukuze unciphise usayizi wokudawunilodwa kwesithombe."
|
|
217
319
|
},
|
|
218
320
|
"models/trace/insights/ImageDelivery.ts | useVideoFormat": {
|
|
219
|
-
"message": "Ukusebenzisa amafomethi evidiyo esikhundleni sama-GIF kungathuthukisa usayizi wokudawunilodwayo kokuqukethwe kopopayi.
|
|
321
|
+
"message": "Ukusebenzisa amafomethi evidiyo esikhundleni sama-GIF kungathuthukisa usayizi wokudawunilodwayo kokuqukethwe kopopayi."
|
|
220
322
|
},
|
|
221
323
|
"models/trace/insights/InteractionToNextPaint.ts | description": {
|
|
222
324
|
"message": "Qala ukuphenya ngesigaba eside kakhulu. [Ukulibaziseka kungancishiswa](https://web.dev/articles/optimize-inp#optimize_interactions). Ukuze unciphise ukucubungula ubude besikhathi, [lungiselela izindleko zochungechunge olukhulu](https://web.dev/articles/optimize-long-tasks), ngokuvamile i-JS."
|
|
223
325
|
},
|
|
326
|
+
"models/trace/insights/InteractionToNextPaint.ts | duration": {
|
|
327
|
+
"message": "Ubude besikhathi"
|
|
328
|
+
},
|
|
329
|
+
"models/trace/insights/InteractionToNextPaint.ts | inputDelay": {
|
|
330
|
+
"message": "Okokufaka okubambezelekile"
|
|
331
|
+
},
|
|
332
|
+
"models/trace/insights/InteractionToNextPaint.ts | noInteractions": {
|
|
333
|
+
"message": "Akukho ukuxhumana okutholakele"
|
|
334
|
+
},
|
|
335
|
+
"models/trace/insights/InteractionToNextPaint.ts | phase": {
|
|
336
|
+
"message": "Isigaba"
|
|
337
|
+
},
|
|
338
|
+
"models/trace/insights/InteractionToNextPaint.ts | presentationDelay": {
|
|
339
|
+
"message": "Ukubambezeleka kwephrezentheshini"
|
|
340
|
+
},
|
|
341
|
+
"models/trace/insights/InteractionToNextPaint.ts | processingDuration": {
|
|
342
|
+
"message": "Isikhathi sokucubungula"
|
|
343
|
+
},
|
|
224
344
|
"models/trace/insights/InteractionToNextPaint.ts | title": {
|
|
225
345
|
"message": "I-INP ngokwesigaba"
|
|
226
346
|
},
|
|
227
347
|
"models/trace/insights/LCPDiscovery.ts | description": {
|
|
228
348
|
"message": "Lungiselela i-LCP ngokwenza isithombe se-LCP [sitholakale](https://web.dev/articles/optimize-lcp#1_eliminate_resource_load_delay) ku-HTML ngokushesha, futhi [ugweme ukulayisha okulengayo](https://web.dev/articles/lcp-lazy-loading)"
|
|
229
349
|
},
|
|
350
|
+
"models/trace/insights/LCPDiscovery.ts | fetchPriorityApplied": {
|
|
351
|
+
"message": "fetchpriority=high kuyasebenza"
|
|
352
|
+
},
|
|
353
|
+
"models/trace/insights/LCPDiscovery.ts | fetchPriorityShouldBeApplied": {
|
|
354
|
+
"message": "fetchpriority=high should be applied"
|
|
355
|
+
},
|
|
356
|
+
"models/trace/insights/LCPDiscovery.ts | lazyLoadNotApplied": {
|
|
357
|
+
"message": "ukulayisha okulengayo akusebenzi"
|
|
358
|
+
},
|
|
359
|
+
"models/trace/insights/LCPDiscovery.ts | lcpLoadDelay": {
|
|
360
|
+
"message": "Isithombe se-LCP silayishwe kokuthi {PH1} ngemva kwephoyinti lokuqalisa lasekuqaleni."
|
|
361
|
+
},
|
|
362
|
+
"models/trace/insights/LCPDiscovery.ts | noLcp": {
|
|
363
|
+
"message": "Ayikho i-LCP etholakele"
|
|
364
|
+
},
|
|
365
|
+
"models/trace/insights/LCPDiscovery.ts | noLcpResource": {
|
|
366
|
+
"message": "Akutholakalanga mthombo we-LCP ngenxa yokuthi i-LCP ayisona isithombe"
|
|
367
|
+
},
|
|
368
|
+
"models/trace/insights/LCPDiscovery.ts | requestDiscoverable": {
|
|
369
|
+
"message": "Isicelo siyabonakala kudokhumenti yokuqala"
|
|
370
|
+
},
|
|
230
371
|
"models/trace/insights/LCPDiscovery.ts | title": {
|
|
231
372
|
"message": "Ukutholwa kwesicelo se-LCP"
|
|
232
373
|
},
|
|
233
374
|
"models/trace/insights/LCPPhases.ts | description": {
|
|
234
375
|
"message": "Isigaba [ngasinye sinamasu athile okuthuthukiswa](https://web.dev/articles/optimize-lcp#lcp-breakdown). Ngokufanelekile, iningi lesikhathi se-LCP kumele lichithwe ekulayisheni izinsiza, hhayi ngaphakathi kokulibaziseka."
|
|
235
376
|
},
|
|
377
|
+
"models/trace/insights/LCPPhases.ts | duration": {
|
|
378
|
+
"message": "Ubude besikhathi"
|
|
379
|
+
},
|
|
380
|
+
"models/trace/insights/LCPPhases.ts | elementRenderDelay": {
|
|
381
|
+
"message": "Ukwephuza kokunikeza isakhi"
|
|
382
|
+
},
|
|
383
|
+
"models/trace/insights/LCPPhases.ts | fieldDuration": {
|
|
384
|
+
"message": "Amaphesenti angu-75 enkundla"
|
|
385
|
+
},
|
|
386
|
+
"models/trace/insights/LCPPhases.ts | noLcp": {
|
|
387
|
+
"message": "Ayikho i-LCP etholakele"
|
|
388
|
+
},
|
|
389
|
+
"models/trace/insights/LCPPhases.ts | phase": {
|
|
390
|
+
"message": "Isigaba"
|
|
391
|
+
},
|
|
392
|
+
"models/trace/insights/LCPPhases.ts | resourceLoadDelay": {
|
|
393
|
+
"message": "Ukwephuza kokulayisha insiza"
|
|
394
|
+
},
|
|
395
|
+
"models/trace/insights/LCPPhases.ts | resourceLoadDuration": {
|
|
396
|
+
"message": "Ubude besikhathi sokulayisha insiza"
|
|
397
|
+
},
|
|
398
|
+
"models/trace/insights/LCPPhases.ts | timeToFirstByte": {
|
|
399
|
+
"message": "Isikhathi sebhayithi lokuqala"
|
|
400
|
+
},
|
|
236
401
|
"models/trace/insights/LCPPhases.ts | title": {
|
|
237
402
|
"message": "I-LCP ngesigaba"
|
|
238
403
|
},
|
|
239
|
-
"models/trace/insights/
|
|
404
|
+
"models/trace/insights/NetworkDependencyTree.ts | description": {
|
|
240
405
|
"message": "[Gwema ukulandelanisa eduze izicelo ezibucayi](https://developer.chrome.com/docs/lighthouse/performance/critical-request-chains) ngokunciphisa ubude bokulandelana, ukunciphisa usayizi wezinsiza ezidawunilodwayo, noma ukuhlehliswa kokudawunilodwa kwezinsiza ezingadingeki ukuze uthuthukise ukulayisha kwekhasi."
|
|
241
406
|
},
|
|
242
|
-
"models/trace/insights/
|
|
243
|
-
"message": "
|
|
407
|
+
"models/trace/insights/NetworkDependencyTree.ts | maxCriticalPathLatency": {
|
|
408
|
+
"message": "Ukubambezeleka kwendlela ebalulekile enkulu:"
|
|
409
|
+
},
|
|
410
|
+
"models/trace/insights/NetworkDependencyTree.ts | noNetworkDependencyTree": {
|
|
411
|
+
"message": "Ayikho imisebenzi enikeziwe ethintwe okuncike kunethiwekhi"
|
|
412
|
+
},
|
|
413
|
+
"models/trace/insights/NetworkDependencyTree.ts | title": {
|
|
414
|
+
"message": "Isihlahla sokuncika kunethiwekhi"
|
|
415
|
+
},
|
|
416
|
+
"models/trace/insights/NetworkDependencyTree.ts | warningDescription": {
|
|
417
|
+
"message": "Gwema ukuxhumanisa izicelo ezibucayi ngokunciphisa ubude bokuxhumanisa, ukwehlisa usayizi wokudawuniloda wezinsiza, noma ukuhlehlisa ukudawunilodwa kwezinsiza ezingadingekile ukuze kuthuthukiswe ukulayishwa kwekhasi."
|
|
244
418
|
},
|
|
245
419
|
"models/trace/insights/RenderBlocking.ts | description": {
|
|
246
420
|
"message": "Izicelo zivimbela umnikezi wasekuqaleni wekhasi, okungase kubambezele i-LCP. [Ukuhlehlisa noma ukuqondanisa](https://web.dev/learn/performance/understanding-the-critical-path#render-blocking_resources/) kungasusa lezi zicelo zenethiwekhi emzileni obucayi."
|
|
247
421
|
},
|
|
422
|
+
"models/trace/insights/RenderBlocking.ts | duration": {
|
|
423
|
+
"message": "Ubude besikhathi"
|
|
424
|
+
},
|
|
425
|
+
"models/trace/insights/RenderBlocking.ts | noRenderBlocking": {
|
|
426
|
+
"message": "Akukho ukuvinjelwa kwezicelo ezinikezelwe kwalokhu kufuna"
|
|
427
|
+
},
|
|
428
|
+
"models/trace/insights/RenderBlocking.ts | renderBlockingRequest": {
|
|
429
|
+
"message": "Isicelo"
|
|
430
|
+
},
|
|
248
431
|
"models/trace/insights/RenderBlocking.ts | title": {
|
|
249
432
|
"message": "Nikeza izicelo zokuvimbela"
|
|
250
433
|
},
|
|
251
434
|
"models/trace/insights/SlowCSSSelector.ts | description": {
|
|
252
435
|
"message": "Uma izindleko Zesitayela Sokuphinda kubalwe sihlala siphezulu, ukulungiselelwa kwesikhethi kungazinciphisa. [Lungiselela izikhethi](https://developer.chrome.com/docs/devtools/performance/selector-stats) nakho kokubili isikhathi esedlule esiphezulu nendlela ehamba kancane ephezulu engu-%. Izikhethi ezilula, izikhethi ezimbalwa, i-DOM encane, kanye ne-DOM engajulile konke kuzonciphisa izindleko ezifanayo."
|
|
253
436
|
},
|
|
437
|
+
"models/trace/insights/SlowCSSSelector.ts | elapsed": {
|
|
438
|
+
"message": "Isikhathi esedlule"
|
|
439
|
+
},
|
|
440
|
+
"models/trace/insights/SlowCSSSelector.ts | enableSelectorData": {
|
|
441
|
+
"message": "Ayikho idatha yesikhethi se-CSS etholakele. Isibalo sesikhethi se-CSS kudingeka sinikwe amandla kumasethingi okusebenza kwephaneli."
|
|
442
|
+
},
|
|
443
|
+
"models/trace/insights/SlowCSSSelector.ts | matchAttempts": {
|
|
444
|
+
"message": "Imizamo yokuqhathanisa"
|
|
445
|
+
},
|
|
446
|
+
"models/trace/insights/SlowCSSSelector.ts | matchCount": {
|
|
447
|
+
"message": "Isibalo sokufanayo"
|
|
448
|
+
},
|
|
254
449
|
"models/trace/insights/SlowCSSSelector.ts | title": {
|
|
255
450
|
"message": "Izindleko Zesikhethi se-CSS"
|
|
256
451
|
},
|
|
452
|
+
"models/trace/insights/SlowCSSSelector.ts | topSelectors": {
|
|
453
|
+
"message": "Izikhethi eziphezulu"
|
|
454
|
+
},
|
|
455
|
+
"models/trace/insights/SlowCSSSelector.ts | total": {
|
|
456
|
+
"message": "Ingqikithi"
|
|
457
|
+
},
|
|
458
|
+
"models/trace/insights/ThirdParties.ts | columnMainThreadTime": {
|
|
459
|
+
"message": "Isikhathi esikhulu sochungechunge"
|
|
460
|
+
},
|
|
461
|
+
"models/trace/insights/ThirdParties.ts | columnThirdParty": {
|
|
462
|
+
"message": "Inkampani engahlangene ngqo"
|
|
463
|
+
},
|
|
464
|
+
"models/trace/insights/ThirdParties.ts | columnTransferSize": {
|
|
465
|
+
"message": "Usayizi wokudlulisela"
|
|
466
|
+
},
|
|
257
467
|
"models/trace/insights/ThirdParties.ts | description": {
|
|
258
|
-
"message": "Ikhodi yenkampani engahlangene ngqo
|
|
468
|
+
"message": "Ikhodi yenkampani engahlangene ngqo ingathinta ukusebenza kokulayisha. [Nciphisa uphinde uhlehlise ukulayishwa kwekhodi yenkampani engahlangene ngqo](https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/loading-third-party-javascript/) ukuze wenze kubaluleke ikhontenti yekhasi lakho."
|
|
469
|
+
},
|
|
470
|
+
"models/trace/insights/ThirdParties.ts | noThirdParties": {
|
|
471
|
+
"message": "Ayikho inhlangano engahlangene ngqo etholakele"
|
|
259
472
|
},
|
|
260
473
|
"models/trace/insights/ThirdParties.ts | title": {
|
|
261
474
|
"message": "Izinkampani ezingahlangene ngqo"
|
|
@@ -111,11 +111,16 @@ export class TraceProcessor extends EventTarget {
|
|
|
111
111
|
if (this.#status !== "IDLE" /* Status.IDLE */) {
|
|
112
112
|
throw new Error(`Trace processor can't start parsing when not idle. Current state: ${this.#status}`);
|
|
113
113
|
}
|
|
114
|
+
options.logger?.start('total');
|
|
114
115
|
try {
|
|
115
116
|
this.#status = "PARSING" /* Status.PARSING */;
|
|
117
|
+
options.logger?.start('parse');
|
|
116
118
|
await this.#computeParsedTrace(traceEvents, options);
|
|
119
|
+
options.logger?.end('parse');
|
|
117
120
|
if (this.#data && !options.isCPUProfile) { // We do not calculate insights for CPU Profiles.
|
|
121
|
+
options.logger?.start('insights');
|
|
118
122
|
this.#computeInsights(this.#data, traceEvents, options);
|
|
123
|
+
options.logger?.end('insights');
|
|
119
124
|
}
|
|
120
125
|
this.#status = "FINISHED_PARSING" /* Status.FINISHED_PARSING */;
|
|
121
126
|
}
|
|
@@ -123,6 +128,9 @@ export class TraceProcessor extends EventTarget {
|
|
|
123
128
|
this.#status = "ERRORED_WHILE_PARSING" /* Status.ERRORED_WHILE_PARSING */;
|
|
124
129
|
throw e;
|
|
125
130
|
}
|
|
131
|
+
finally {
|
|
132
|
+
options.logger?.end('total');
|
|
133
|
+
}
|
|
126
134
|
}
|
|
127
135
|
/**
|
|
128
136
|
* Run all the handlers and set the result to `#data`.
|
|
@@ -138,11 +146,12 @@ export class TraceProcessor extends EventTarget {
|
|
|
138
146
|
*/
|
|
139
147
|
const eventsPerChunk = 50_000;
|
|
140
148
|
// Convert to array so that we are able to iterate all handlers multiple times.
|
|
141
|
-
const sortedHandlers = [...sortHandlers(this.#traceHandlers).
|
|
149
|
+
const sortedHandlers = [...sortHandlers(this.#traceHandlers).entries()];
|
|
142
150
|
// Reset.
|
|
143
|
-
for (const handler of sortedHandlers) {
|
|
151
|
+
for (const [, handler] of sortedHandlers) {
|
|
144
152
|
handler.reset();
|
|
145
153
|
}
|
|
154
|
+
options.logger?.start('parse:handleEvent');
|
|
146
155
|
// Handle each event.
|
|
147
156
|
for (let i = 0; i < traceEvents.length; ++i) {
|
|
148
157
|
// Every so often we take a break just to render.
|
|
@@ -155,16 +164,21 @@ export class TraceProcessor extends EventTarget {
|
|
|
155
164
|
}
|
|
156
165
|
const event = traceEvents[i];
|
|
157
166
|
for (let j = 0; j < sortedHandlers.length; ++j) {
|
|
158
|
-
sortedHandlers[j]
|
|
167
|
+
const [, handler] = sortedHandlers[j];
|
|
168
|
+
handler.handleEvent(event);
|
|
159
169
|
}
|
|
160
170
|
}
|
|
171
|
+
options.logger?.end('parse:handleEvent');
|
|
161
172
|
// Finalize.
|
|
162
|
-
for (
|
|
173
|
+
for (let i = 0; i < sortedHandlers.length; i++) {
|
|
174
|
+
const [name, handler] = sortedHandlers[i];
|
|
163
175
|
if (handler.finalize) {
|
|
176
|
+
options.logger?.start(`parse:${name}:finalize`);
|
|
164
177
|
// Yield to the UI because finalize() calls can be expensive
|
|
165
178
|
// TODO(jacktfranklin): consider using `scheduler.yield()` or `scheduler.postTask(() => {}, {priority: 'user-blocking'})`
|
|
166
179
|
await new Promise(resolve => setTimeout(resolve, 0));
|
|
167
180
|
await handler.finalize(options);
|
|
181
|
+
options.logger?.end(`parse:${name}:finalize`);
|
|
168
182
|
}
|
|
169
183
|
const percent = calculateProgress(i / sortedHandlers.length, 0.8 /* ProgressPhase.FINALIZE */);
|
|
170
184
|
this.dispatchEvent(new TraceParseProgressEvent({ percent }));
|
|
@@ -194,11 +208,13 @@ export class TraceProcessor extends EventTarget {
|
|
|
194
208
|
}
|
|
195
209
|
return value;
|
|
196
210
|
};
|
|
211
|
+
options.logger?.start('parse:clone');
|
|
197
212
|
const parsedTrace = {};
|
|
198
213
|
for (const [name, handler] of Object.entries(this.#traceHandlers)) {
|
|
199
214
|
const data = shallowClone(handler.data());
|
|
200
215
|
Object.assign(parsedTrace, { [name]: data });
|
|
201
216
|
}
|
|
217
|
+
options.logger?.end('parse:clone');
|
|
202
218
|
this.dispatchEvent(new TraceParseProgressEvent({ percent: 1 /* ProgressPhase.CLONE */ }));
|
|
203
219
|
this.#data = parsedTrace;
|
|
204
220
|
}
|
|
@@ -214,7 +230,7 @@ export class TraceProcessor extends EventTarget {
|
|
|
214
230
|
}
|
|
215
231
|
return this.#insights;
|
|
216
232
|
}
|
|
217
|
-
#createLanternContext(parsedTrace, traceEvents, frameId, navigationId) {
|
|
233
|
+
#createLanternContext(parsedTrace, traceEvents, frameId, navigationId, options) {
|
|
218
234
|
// Check for required handlers.
|
|
219
235
|
if (!parsedTrace.NetworkRequests || !parsedTrace.Workers || !parsedTrace.PageLoadMetrics) {
|
|
220
236
|
return;
|
|
@@ -242,12 +258,14 @@ export class TraceProcessor extends EventTarget {
|
|
|
242
258
|
if (!networkAnalysis) {
|
|
243
259
|
return;
|
|
244
260
|
}
|
|
245
|
-
const
|
|
261
|
+
const lanternSettings = {
|
|
246
262
|
// TODO(crbug.com/372674229): if devtools throttling was on, does this network analysis capture
|
|
247
263
|
// that? Do we need to set 'devtools' throttlingMethod?
|
|
248
264
|
networkAnalysis,
|
|
249
265
|
throttlingMethod: 'provided',
|
|
250
|
-
|
|
266
|
+
...options.lanternSettings,
|
|
267
|
+
};
|
|
268
|
+
const simulator = Lantern.Simulation.Simulator.createSimulator(lanternSettings);
|
|
251
269
|
const computeData = { graph, simulator, processedNavigation };
|
|
252
270
|
const fcpResult = Lantern.Metrics.FirstContentfulPaint.compute(computeData);
|
|
253
271
|
const lcpResult = Lantern.Metrics.LargestContentfulPaint.compute(computeData, { fcpResult });
|
|
@@ -281,9 +299,10 @@ export class TraceProcessor extends EventTarget {
|
|
|
281
299
|
Viewport: null,
|
|
282
300
|
DOMSize: null,
|
|
283
301
|
ThirdParties: null,
|
|
284
|
-
|
|
302
|
+
DuplicatedJavaScript: null,
|
|
285
303
|
SlowCSSSelector: null,
|
|
286
304
|
ForcedReflow: null,
|
|
305
|
+
UseCache: null,
|
|
287
306
|
};
|
|
288
307
|
// Determine the weights for each metric based on field data, utilizing the same scoring curve that Lighthouse uses.
|
|
289
308
|
const weights = Insights.Common.calculateMetricWeightsForSorting(insightSet, metadata);
|
|
@@ -348,18 +367,21 @@ export class TraceProcessor extends EventTarget {
|
|
|
348
367
|
let id, urlString, navigation;
|
|
349
368
|
if (context.navigation) {
|
|
350
369
|
id = context.navigationId;
|
|
351
|
-
urlString =
|
|
370
|
+
urlString =
|
|
371
|
+
parsedTrace.Meta.finalDisplayUrlByNavigationId.get(context.navigationId) ?? parsedTrace.Meta.mainFrameURL;
|
|
352
372
|
navigation = context.navigation;
|
|
353
373
|
}
|
|
354
374
|
else {
|
|
355
375
|
id = Types.Events.NO_NAVIGATION;
|
|
356
|
-
urlString = parsedTrace.Meta.mainFrameURL;
|
|
376
|
+
urlString = parsedTrace.Meta.finalDisplayUrlByNavigationId.get('') ?? parsedTrace.Meta.mainFrameURL;
|
|
357
377
|
}
|
|
358
378
|
const model = {};
|
|
359
379
|
for (const [name, insight] of Object.entries(TraceProcessor.getInsightRunners())) {
|
|
360
380
|
let insightResult;
|
|
361
381
|
try {
|
|
382
|
+
options.logger?.start(`insights:${name}`);
|
|
362
383
|
insightResult = insight.generateInsight(parsedTrace, context);
|
|
384
|
+
insightResult.frameId = context.frameId;
|
|
363
385
|
const navId = context.navigation?.args.data?.navigationId;
|
|
364
386
|
if (navId) {
|
|
365
387
|
insightResult.navigationId = navId;
|
|
@@ -368,6 +390,9 @@ export class TraceProcessor extends EventTarget {
|
|
|
368
390
|
catch (err) {
|
|
369
391
|
insightResult = err;
|
|
370
392
|
}
|
|
393
|
+
finally {
|
|
394
|
+
options.logger?.end(`insights:${name}`);
|
|
395
|
+
}
|
|
371
396
|
Object.assign(model, { [name]: insightResult });
|
|
372
397
|
}
|
|
373
398
|
let url;
|
|
@@ -429,7 +454,8 @@ export class TraceProcessor extends EventTarget {
|
|
|
429
454
|
// Additionally, many trace fixtures are too old to be processed by Lantern.
|
|
430
455
|
let lantern;
|
|
431
456
|
try {
|
|
432
|
-
|
|
457
|
+
options.logger?.start('insights:createLanternContext');
|
|
458
|
+
lantern = this.#createLanternContext(parsedTrace, traceEvents, frameId, navigationId, options);
|
|
433
459
|
}
|
|
434
460
|
catch (e) {
|
|
435
461
|
// Don't allow an error in constructing the Lantern graphs to break the rest of the trace processor.
|
|
@@ -453,6 +479,9 @@ export class TraceProcessor extends EventTarget {
|
|
|
453
479
|
console.error(e);
|
|
454
480
|
}
|
|
455
481
|
}
|
|
482
|
+
finally {
|
|
483
|
+
options.logger?.end('insights:createLanternContext');
|
|
484
|
+
}
|
|
456
485
|
const min = navigation.ts;
|
|
457
486
|
const max = i + 1 < navigations.length ? navigations[i + 1].ts : parsedTrace.Meta.traceBounds.max;
|
|
458
487
|
const bounds = Helpers.Timing.traceWindowFromMicroSeconds(min, max);
|