@@ -13,6 +13,7 @@ interface VueSentry extends ViewModel {
13
13
[ key : string ] : Span ;
14
14
} ;
15
15
$_sentryRootSpan ?: Span ;
16
+ $_sentryRootSpanTimer ?: ReturnType < typeof setTimeout > ;
16
17
}
17
18
18
19
// Mappings from operation to corresponding lifecycle hook.
@@ -23,7 +24,6 @@ const HOOKS: { [key in Operation]: Hook[] } = {
23
24
mount : [ 'beforeMount' , 'mounted' ] ,
24
25
update : [ 'beforeUpdate' , 'updated' ] ,
25
26
} ;
26
- let ROOT_SPAN_TIMER : ReturnType < typeof setTimeout > ;
27
27
28
28
/** Grabs active transaction off scope, if any */
29
29
function getActiveTransaction ( ) : Transaction | undefined {
@@ -34,11 +34,11 @@ function getActiveTransaction(): Transaction | undefined {
34
34
35
35
/** Finish top-level span and activity with a debounce configured using `timeout` option */
36
36
function finishRootSpan ( vm : VueSentry , timestamp : number , timeout : number ) : void {
37
- if ( ROOT_SPAN_TIMER ) {
38
- clearTimeout ( ROOT_SPAN_TIMER ) ;
37
+ if ( vm . $_sentryRootSpanTimer ) {
38
+ clearTimeout ( vm . $_sentryRootSpanTimer ) ;
39
39
}
40
40
41
- ROOT_SPAN_TIMER = setTimeout ( ( ) => {
41
+ vm . $_sentryRootSpanTimer = setTimeout ( ( ) => {
42
42
if ( vm . $root ?. $_sentryRootSpan ) {
43
43
vm . $root . $_sentryRootSpan . finish ( timestamp ) ;
44
44
vm . $root . $_sentryRootSpan = undefined ;
0 commit comments