@@ -26,24 +26,24 @@ sentryTest(
2626
2727 // Check image-fast span (this is served with a 100ms delay)
2828 const imageFastSpan = elementTimingSpans ?. find ( ( { description } ) => description === 'element[image-fast]' ) ;
29- const imageFastRenderTime = imageFastSpan ?. data [ 'element.render_time' ] ;
30- const imageFastLoadTime = imageFastSpan ?. data [ 'element.load_time' ] ;
29+ const imageFastRenderTime = imageFastSpan ?. data [ 'ui. element.render_time' ] ;
30+ const imageFastLoadTime = imageFastSpan ?. data [ 'ui. element.load_time' ] ;
3131 const duration = imageFastSpan ! . timestamp ! - imageFastSpan ! . start_timestamp ;
3232
3333 expect ( imageFastSpan ) . toBeDefined ( ) ;
3434 expect ( imageFastSpan ?. data ) . toEqual ( {
3535 'sentry.op' : 'ui.elementtiming' ,
3636 'sentry.origin' : 'auto.ui.browser.elementtiming' ,
3737 'sentry.source' : 'component' ,
38- 'sentry.span_start_time_source ' : 'load-time ' ,
39- 'element.id ' : 'image-fast-id ' ,
40- 'element.identifier ' : 'image-fast ' ,
41- 'element.type ' : 'img' ,
42- 'element.size ' : '600x179' ,
43- 'element.url' : 'https://sentry-test-site.example/path/to/image-fast.png' ,
44- 'element.render_time' : expect . any ( Number ) ,
45- 'element.load_time' : expect . any ( Number ) ,
46- 'element.paint_type' : 'image-paint' ,
38+ 'ui.element.id ' : 'image-fast-id ' ,
39+ 'ui. element.identifier ' : 'image-fast' ,
40+ 'ui. element.type ' : 'img ' ,
41+ 'ui. element.width ' : 600 ,
42+ 'ui. element.height ' : 179 ,
43+ 'ui. element.url' : 'https://sentry-test-site.example/path/to/image-fast.png' ,
44+ 'ui. element.render_time' : expect . any ( Number ) ,
45+ 'ui. element.load_time' : expect . any ( Number ) ,
46+ 'ui. element.paint_type' : 'image-paint' ,
4747 'sentry.transaction_name' : '/index.html' ,
4848 } ) ;
4949 expect ( imageFastRenderTime ) . toBeGreaterThan ( 90 ) ;
@@ -55,22 +55,23 @@ sentryTest(
5555 expect ( duration ) . toBeLessThan ( 20 ) ;
5656
5757 // Check text1 span
58- const text1Span = elementTimingSpans ?. find ( ( { data } ) => data ?. [ 'element.identifier' ] === 'text1' ) ;
59- const text1RenderTime = text1Span ?. data [ 'element.render_time' ] ;
60- const text1LoadTime = text1Span ?. data [ 'element.load_time' ] ;
58+ const text1Span = elementTimingSpans ?. find ( ( { data } ) => data ?. [ 'ui. element.identifier' ] === 'text1' ) ;
59+ const text1RenderTime = text1Span ?. data [ 'ui. element.render_time' ] ;
60+ const text1LoadTime = text1Span ?. data [ 'ui. element.load_time' ] ;
6161 const text1Duration = text1Span ! . timestamp ! - text1Span ! . start_timestamp ;
6262 expect ( text1Span ) . toBeDefined ( ) ;
6363 expect ( text1Span ?. data ) . toEqual ( {
6464 'sentry.op' : 'ui.elementtiming' ,
6565 'sentry.origin' : 'auto.ui.browser.elementtiming' ,
6666 'sentry.source' : 'component' ,
67- 'sentry.span_start_time_source' : 'render-time' ,
68- 'element.id' : 'text1-id' ,
69- 'element.identifier' : 'text1' ,
70- 'element.type' : 'p' ,
71- 'element.render_time' : expect . any ( Number ) ,
72- 'element.load_time' : expect . any ( Number ) ,
73- 'element.paint_type' : 'text-paint' ,
67+ 'ui.element.id' : 'text1-id' ,
68+ 'ui.element.identifier' : 'text1' ,
69+ 'ui.element.type' : 'p' ,
70+ 'ui.element.width' : 0 ,
71+ 'ui.element.height' : 0 ,
72+ 'ui.element.render_time' : expect . any ( Number ) ,
73+ 'ui.element.load_time' : expect . any ( Number ) ,
74+ 'ui.element.paint_type' : 'text-paint' ,
7475 'sentry.transaction_name' : '/index.html' ,
7576 } ) ;
7677 expect ( text1RenderTime ) . toBeGreaterThan ( 0 ) ;
@@ -80,35 +81,35 @@ sentryTest(
8081 expect ( text1Duration ) . toBe ( 0 ) ;
8182
8283 // Check button1 span (no need for a full assertion)
83- const button1Span = elementTimingSpans ?. find ( ( { data } ) => data ?. [ 'element.identifier' ] === 'button1' ) ;
84+ const button1Span = elementTimingSpans ?. find ( ( { data } ) => data ?. [ 'ui. element.identifier' ] === 'button1' ) ;
8485 expect ( button1Span ) . toBeDefined ( ) ;
8586 expect ( button1Span ?. data ) . toMatchObject ( {
86- 'element.identifier' : 'button1' ,
87- 'element.type' : 'button' ,
88- 'element.paint_type' : 'text-paint' ,
87+ 'ui. element.identifier' : 'button1' ,
88+ 'ui. element.type' : 'button' ,
89+ 'ui. element.paint_type' : 'text-paint' ,
8990 'sentry.transaction_name' : '/index.html' ,
9091 } ) ;
9192
9293 // Check image-slow span
93- const imageSlowSpan = elementTimingSpans ?. find ( ( { data } ) => data ?. [ 'element.identifier' ] === 'image-slow' ) ;
94+ const imageSlowSpan = elementTimingSpans ?. find ( ( { data } ) => data ?. [ 'ui. element.identifier' ] === 'image-slow' ) ;
9495 expect ( imageSlowSpan ) . toBeDefined ( ) ;
9596 expect ( imageSlowSpan ?. data ) . toEqual ( {
96- 'element.id' : '' ,
97- 'element.identifier' : 'image-slow' ,
98- 'element.type' : 'img' ,
99- 'element.size' : '600x179' ,
100- 'element.url' : 'https://sentry-test-site.example/path/to/image-slow.png' ,
101- 'element.paint_type' : 'image-paint' ,
102- 'element.render_time' : expect . any ( Number ) ,
103- 'element.load_time' : expect . any ( Number ) ,
97+ 'ui.element.id' : '' ,
98+ 'ui.element.identifier' : 'image-slow' ,
99+ 'ui.element.type' : 'img' ,
100+ 'ui.element.width' : 600 ,
101+ 'ui.element.height' : 179 ,
102+ 'ui.element.url' : 'https://sentry-test-site.example/path/to/image-slow.png' ,
103+ 'ui.element.paint_type' : 'image-paint' ,
104+ 'ui.element.render_time' : expect . any ( Number ) ,
105+ 'ui.element.load_time' : expect . any ( Number ) ,
104106 'sentry.op' : 'ui.elementtiming' ,
105107 'sentry.origin' : 'auto.ui.browser.elementtiming' ,
106108 'sentry.source' : 'component' ,
107- 'sentry.span_start_time_source' : 'load-time' ,
108109 'sentry.transaction_name' : '/index.html' ,
109110 } ) ;
110- const imageSlowRenderTime = imageSlowSpan ?. data [ 'element.render_time' ] ;
111- const imageSlowLoadTime = imageSlowSpan ?. data [ 'element.load_time' ] ;
111+ const imageSlowRenderTime = imageSlowSpan ?. data [ 'ui. element.render_time' ] ;
112+ const imageSlowLoadTime = imageSlowSpan ?. data [ 'ui. element.load_time' ] ;
112113 const imageSlowDuration = imageSlowSpan ! . timestamp ! - imageSlowSpan ! . start_timestamp ;
113114 expect ( imageSlowRenderTime ) . toBeGreaterThan ( 1400 ) ;
114115 expect ( imageSlowRenderTime ) . toBeLessThan ( 2000 ) ;
@@ -118,25 +119,25 @@ sentryTest(
118119 expect ( imageSlowDuration ) . toBeLessThan ( 20 ) ;
119120
120121 // Check lazy-image span
121- const lazyImageSpan = elementTimingSpans ?. find ( ( { data } ) => data ?. [ 'element.identifier' ] === 'lazy-image' ) ;
122+ const lazyImageSpan = elementTimingSpans ?. find ( ( { data } ) => data ?. [ 'ui. element.identifier' ] === 'lazy-image' ) ;
122123 expect ( lazyImageSpan ) . toBeDefined ( ) ;
123124 expect ( lazyImageSpan ?. data ) . toEqual ( {
124- 'element.id' : '' ,
125- 'element.identifier' : 'lazy-image' ,
126- 'element.type' : 'img' ,
127- 'element.size' : '600x179' ,
128- 'element.url' : 'https://sentry-test-site.example/path/to/image-lazy.png' ,
129- 'element.paint_type' : 'image-paint' ,
130- 'element.render_time' : expect . any ( Number ) ,
131- 'element.load_time' : expect . any ( Number ) ,
125+ 'ui.element.id' : '' ,
126+ 'ui.element.identifier' : 'lazy-image' ,
127+ 'ui.element.type' : 'img' ,
128+ 'ui.element.width' : 600 ,
129+ 'ui.element.height' : 179 ,
130+ 'ui.element.url' : 'https://sentry-test-site.example/path/to/image-lazy.png' ,
131+ 'ui.element.paint_type' : 'image-paint' ,
132+ 'ui.element.render_time' : expect . any ( Number ) ,
133+ 'ui.element.load_time' : expect . any ( Number ) ,
132134 'sentry.op' : 'ui.elementtiming' ,
133135 'sentry.origin' : 'auto.ui.browser.elementtiming' ,
134136 'sentry.source' : 'component' ,
135- 'sentry.span_start_time_source' : 'load-time' ,
136137 'sentry.transaction_name' : '/index.html' ,
137138 } ) ;
138- const lazyImageRenderTime = lazyImageSpan ?. data [ 'element.render_time' ] ;
139- const lazyImageLoadTime = lazyImageSpan ?. data [ 'element.load_time' ] ;
139+ const lazyImageRenderTime = lazyImageSpan ?. data [ 'ui. element.render_time' ] ;
140+ const lazyImageLoadTime = lazyImageSpan ?. data [ 'ui. element.load_time' ] ;
140141 const lazyImageDuration = lazyImageSpan ! . timestamp ! - lazyImageSpan ! . start_timestamp ;
141142 expect ( lazyImageRenderTime ) . toBeGreaterThan ( 1000 ) ;
142143 expect ( lazyImageRenderTime ) . toBeLessThan ( 1500 ) ;
@@ -146,15 +147,15 @@ sentryTest(
146147 expect ( lazyImageDuration ) . toBeLessThan ( 20 ) ;
147148
148149 // Check lazy-text span
149- const lazyTextSpan = elementTimingSpans ?. find ( ( { data } ) => data ?. [ 'element.identifier' ] === 'lazy-text' ) ;
150+ const lazyTextSpan = elementTimingSpans ?. find ( ( { data } ) => data ?. [ 'ui. element.identifier' ] === 'lazy-text' ) ;
150151 expect ( lazyTextSpan ?. data ) . toMatchObject ( {
151- 'element.id' : '' ,
152- 'element.identifier' : 'lazy-text' ,
153- 'element.type' : 'p' ,
152+ 'ui. element.id' : '' ,
153+ 'ui. element.identifier' : 'lazy-text' ,
154+ 'ui. element.type' : 'p' ,
154155 'sentry.transaction_name' : '/index.html' ,
155156 } ) ;
156- const lazyTextRenderTime = lazyTextSpan ?. data [ 'element.render_time' ] ;
157- const lazyTextLoadTime = lazyTextSpan ?. data [ 'element.load_time' ] ;
157+ const lazyTextRenderTime = lazyTextSpan ?. data [ 'ui. element.render_time' ] ;
158+ const lazyTextLoadTime = lazyTextSpan ?. data [ 'ui. element.load_time' ] ;
158159 const lazyTextDuration = lazyTextSpan ! . timestamp ! - lazyTextSpan ! . start_timestamp ;
159160 expect ( lazyTextRenderTime ) . toBeGreaterThan ( 1000 ) ;
160161 expect ( lazyTextRenderTime ) . toBeLessThan ( 1500 ) ;
@@ -202,15 +203,15 @@ sentryTest('emits element timing spans on navigation', async ({ getLocalTestUrl,
202203
203204 // Image started loading after navigation, but render-time and load-time still start from the time origin
204205 // of the pageload. This is somewhat a limitation (though by design according to the ElementTiming spec)
205- expect ( ( imageSpan ! . data [ 'element.render_time' ] ! as number ) / 1000 + pageloadStartTime ) . toBeGreaterThan (
206+ expect ( ( imageSpan ! . data [ 'ui. element.render_time' ] ! as number ) / 1000 + pageloadStartTime ) . toBeGreaterThan (
206207 navigationStartTime ,
207208 ) ;
208- expect ( ( imageSpan ! . data [ 'element.load_time' ] ! as number ) / 1000 + pageloadStartTime ) . toBeGreaterThan (
209+ expect ( ( imageSpan ! . data [ 'ui. element.load_time' ] ! as number ) / 1000 + pageloadStartTime ) . toBeGreaterThan (
209210 navigationStartTime ,
210211 ) ;
211212
212- expect ( textSpan ?. data [ 'element.load_time' ] ) . toBe ( 0 ) ;
213- expect ( ( textSpan ! . data [ 'element.render_time' ] ! as number ) / 1000 + pageloadStartTime ) . toBeGreaterThan (
213+ expect ( textSpan ?. data [ 'ui. element.load_time' ] ) . toBe ( 0 ) ;
214+ expect ( ( textSpan ! . data [ 'ui. element.render_time' ] ! as number ) / 1000 + pageloadStartTime ) . toBeGreaterThan (
214215 navigationStartTime ,
215216 ) ;
216217} ) ;
0 commit comments