@@ -22,20 +22,19 @@ function assertSentryCall(assert, callNumber, options) {
22
22
assert . equal ( event . spans . length , options . spanCount ) ;
23
23
}
24
24
if ( options . spans ) {
25
- event . spans = event . spans . map ( s => {
26
- return `${ s . op } | ${ s . description } ` ;
27
- } ) ;
28
-
29
- // FIXME: For some reason, the last `afterRender` and `destroy` run queue event are not always called.
30
- // This is not a blocker, but should be investigated and fixed, as this is the expected output.
31
- const lastSpan = event . spans [ event . spans . length - 1 ] ;
32
- if ( lastSpan === 'ui.ember.runloop.afterRender | undefined' ) {
33
- event . spans . push ( 'ui.ember.runloop.destroy | undefined' ) ;
34
- } else if ( lastSpan === 'ui.ember.runloop.render | undefined' ) {
35
- event . spans . push ( 'ui.ember.runloop.afterRender | undefined' , 'ui.ember.runloop.destroy | undefined' ) ;
36
- }
37
-
38
- assert . deepEqual ( event . spans , options . spans , `Has correct spans` ) ;
25
+ // instead of checking the specific order of runloop spans (which is brittle),
26
+ // we check (below) that _any_ runloop spans are added
27
+ const spans = event . spans
28
+ . filter ( span => ! span . op . startsWith ( 'ui.ember.runloop.' ) )
29
+ . map ( s => {
30
+ return `${ s . op } | ${ s . description } ` ;
31
+ } ) ;
32
+
33
+ assert . true (
34
+ event . spans . some ( span => span . op . startsWith ( 'ui.ember.runloop.' ) ) ,
35
+ 'it captures runloop spans' ,
36
+ ) ;
37
+ assert . deepEqual ( spans , options . spans , `Has correct spans` ) ;
39
38
}
40
39
41
40
assert . equal ( event . transaction , options . transaction ) ;
@@ -53,7 +52,7 @@ module('Acceptance | Sentry Performance', function (hooks) {
53
52
setupSentryTest ( hooks ) ;
54
53
55
54
test ( 'Test transaction' , async function ( assert ) {
56
- assert . expect ( 6 ) ;
55
+ assert . expect ( 7 ) ;
57
56
58
57
await visit ( '/tracing' ) ;
59
58
@@ -62,11 +61,6 @@ module('Acceptance | Sentry Performance', function (hooks) {
62
61
spans : [
63
62
'ui.ember.transition | route:undefined -> route:tracing' ,
64
63
'ui.ember.component.render | component:test-section' ,
65
- 'ui.ember.runloop.actions | undefined' ,
66
- 'ui.ember.runloop.routerTransitions | undefined' ,
67
- 'ui.ember.runloop.render | undefined' ,
68
- 'ui.ember.runloop.afterRender | undefined' ,
69
- 'ui.ember.runloop.destroy | undefined' ,
70
64
] ,
71
65
transaction : 'route:tracing' ,
72
66
tags : {
@@ -77,7 +71,7 @@ module('Acceptance | Sentry Performance', function (hooks) {
77
71
} ) ;
78
72
79
73
test ( 'Test navigating to slow route' , async function ( assert ) {
80
- assert . expect ( 7 ) ;
74
+ assert . expect ( 8 ) ;
81
75
82
76
await visit ( '/tracing' ) ;
83
77
const button = find ( '[data-test-button="Transition to slow loading route"]' ) ;
@@ -89,45 +83,15 @@ module('Acceptance | Sentry Performance', function (hooks) {
89
83
spans : [
90
84
'ui.ember.transition | route:tracing -> route:slow-loading-route.index' ,
91
85
'ui.ember.route.before_model | slow-loading-route' ,
92
- 'ui.ember.runloop.actions | undefined' ,
93
- 'ui.ember.runloop.routerTransitions | undefined' ,
94
- 'ui.ember.runloop.render | undefined' ,
95
- 'ui.ember.runloop.afterRender | undefined' ,
96
- 'ui.ember.runloop.destroy | undefined' ,
97
86
'ui.ember.route.model | slow-loading-route' ,
98
- 'ui.ember.runloop.actions | undefined' ,
99
- 'ui.ember.runloop.routerTransitions | undefined' ,
100
- 'ui.ember.runloop.render | undefined' ,
101
- 'ui.ember.runloop.afterRender | undefined' ,
102
- 'ui.ember.runloop.destroy | undefined' ,
103
87
'ui.ember.route.after_model | slow-loading-route' ,
104
- 'ui.ember.runloop.actions | undefined' ,
105
- 'ui.ember.runloop.routerTransitions | undefined' ,
106
- 'ui.ember.runloop.render | undefined' ,
107
- 'ui.ember.runloop.afterRender | undefined' ,
108
- 'ui.ember.runloop.destroy | undefined' ,
109
88
'ui.ember.route.before_model | slow-loading-route.index' ,
110
- 'ui.ember.runloop.actions | undefined' ,
111
- 'ui.ember.runloop.routerTransitions | undefined' ,
112
- 'ui.ember.runloop.render | undefined' ,
113
- 'ui.ember.runloop.afterRender | undefined' ,
114
- 'ui.ember.runloop.destroy | undefined' ,
115
89
'ui.ember.route.model | slow-loading-route.index' ,
116
- 'ui.ember.runloop.actions | undefined' ,
117
- 'ui.ember.runloop.routerTransitions | undefined' ,
118
- 'ui.ember.runloop.render | undefined' ,
119
- 'ui.ember.runloop.afterRender | undefined' ,
120
- 'ui.ember.runloop.destroy | undefined' ,
121
90
'ui.ember.route.after_model | slow-loading-route.index' ,
122
- 'ui.ember.runloop.actions | undefined' ,
123
91
'ui.ember.route.setup_controller | slow-loading-route' ,
124
92
'ui.ember.route.setup_controller | slow-loading-route.index' ,
125
- 'ui.ember.runloop.routerTransitions | undefined' ,
126
93
'ui.ember.component.render | component:slow-loading-list' ,
127
94
'ui.ember.component.render | component:slow-loading-list' ,
128
- 'ui.ember.runloop.render | undefined' ,
129
- 'ui.ember.runloop.afterRender | undefined' ,
130
- 'ui.ember.runloop.destroy | undefined' ,
131
95
] ,
132
96
transaction : 'route:slow-loading-route.index' ,
133
97
durationCheck : duration => duration > SLOW_TRANSITION_WAIT ,
0 commit comments