@@ -209,86 +209,3 @@ sentryTest('emits element timing spans on navigation', async ({ getLocalTestUrl,
209
209
navigationStartTime ,
210
210
) ;
211
211
} ) ;
212
-
213
- // For element timing, we're fine with just always emitting a transaction,
214
- // regardless of a parent span being present or not (as in this case)
215
- sentryTest ( 'emits element timing spans if no parent span is active' , async ( { getLocalTestUrl, page, browserName } ) => {
216
- if ( shouldSkipTracingTest ( ) || browserName === 'webkit' ) {
217
- sentryTest . skip ( ) ;
218
- }
219
-
220
- serveAssets ( page ) ;
221
-
222
- const pageloadEventPromise = waitForTransactionRequest ( page , evt => evt . contexts ?. trace ?. op === 'pageload' ) ;
223
-
224
- const elementTimingTransactionPromise1 = waitForTransactionRequest (
225
- page ,
226
- evt => evt . contexts ?. trace ?. op === 'ui.elementtiming' && evt . transaction === 'element[click-image]' ,
227
- ) ;
228
-
229
- const elementTimingTransactionPromise2 = waitForTransactionRequest (
230
- page ,
231
- evt => evt . contexts ?. trace ?. op === 'ui.elementtiming' && evt . transaction === 'element[click-text]' ,
232
- ) ;
233
-
234
- const url = await getLocalTestUrl ( { testDir : __dirname } ) ;
235
-
236
- await page . goto ( url ) ;
237
-
238
- await pageloadEventPromise ;
239
-
240
- await page . locator ( '#button2' ) . click ( ) ;
241
-
242
- const imageElementTimingTransaction = envelopeRequestParser ( await elementTimingTransactionPromise1 ) ;
243
- const textElementTimingTransaction = envelopeRequestParser ( await elementTimingTransactionPromise2 ) ;
244
-
245
- expect ( imageElementTimingTransaction . spans ?. length ) . toEqual ( 0 ) ;
246
- expect ( textElementTimingTransaction . spans ?. length ) . toEqual ( 0 ) ;
247
-
248
- const imageETattributes = imageElementTimingTransaction . contexts ?. trace ?. data ;
249
- const textETattributes = textElementTimingTransaction . contexts ?. trace ?. data ;
250
-
251
- expect ( imageETattributes ) . toEqual ( {
252
- 'element.identifier' : 'click-image' ,
253
- 'element.paint-type' : 'image-paint' ,
254
- 'element.load-time' : expect . any ( Number ) ,
255
- 'element.render-time' : expect . any ( Number ) ,
256
- 'element.size' : '600x179' ,
257
- 'element.type' : 'img' ,
258
- 'element.url' : 'https://sentry-test-site.example/path/to/image-click.png' ,
259
- 'sentry.span-start-time-source' : 'load-time' ,
260
- 'sentry.op' : 'ui.elementtiming' ,
261
- 'sentry.origin' : 'auto.ui.browser.elementtiming' ,
262
- 'sentry.source' : 'component' ,
263
- route : '/index.html' ,
264
- } ) ;
265
-
266
- expect ( textETattributes ) . toEqual ( {
267
- 'element.identifier' : 'click-text' ,
268
- 'element.load-time' : 0 ,
269
- 'element.render-time' : expect . any ( Number ) ,
270
- 'element.paint-type' : 'text-paint' ,
271
- 'element.type' : 'p' ,
272
- 'sentry.span-start-time-source' : 'render-time' ,
273
- 'sentry.op' : 'ui.elementtiming' ,
274
- 'sentry.origin' : 'auto.ui.browser.elementtiming' ,
275
- 'sentry.source' : 'component' ,
276
- route : '/index.html' ,
277
- } ) ;
278
- } ) ;
279
-
280
- function serveAssets ( page : Page ) {
281
- page . route ( / i m a g e - ( f a s t | l a z y | n a v i g a t i o n | c l i c k ) \. p n g / , async ( route : Route ) => {
282
- await new Promise ( resolve => setTimeout ( resolve , 100 ) ) ;
283
- return route . fulfill ( {
284
- path : `${ __dirname } /assets/sentry-logo-600x179.png` ,
285
- } ) ;
286
- } ) ;
287
-
288
- page . route ( '**/image-slow.png' , async ( route : Route ) => {
289
- await new Promise ( resolve => setTimeout ( resolve , 1500 ) ) ;
290
- return route . fulfill ( {
291
- path : `${ __dirname } /assets/sentry-logo-600x179.png` ,
292
- } ) ;
293
- } ) ;
294
- }
0 commit comments