@@ -12,11 +12,11 @@ type Mixins = Parameters<Vue['mixin']>[0];
1212
1313interface VueSentry extends ViewModel {
1414 readonly $root : VueSentry ;
15- $_sentrySpans ?: {
15+ $_sentryComponentSpans ?: {
1616 [ key : string ] : Span | undefined ;
1717 } ;
18- $_sentryRootSpan ?: Span ;
19- $_sentryRootSpanTimer ?: ReturnType < typeof setTimeout > ;
18+ $_sentryRootComponentSpan ?: Span ;
19+ $_sentryRootComponentSpanTimer ?: ReturnType < typeof setTimeout > ;
2020}
2121
2222// Mappings from operation to corresponding lifecycle hook.
@@ -31,16 +31,16 @@ const HOOKS: { [key in Operation]: Hook[] } = {
3131 update : [ 'beforeUpdate' , 'updated' ] ,
3232} ;
3333
34- /** Finish top-level span and activity with a debounce configured using `timeout` option */
35- function finishRootSpan ( vm : VueSentry , timestamp : number , timeout : number ) : void {
36- if ( vm . $_sentryRootSpanTimer ) {
37- clearTimeout ( vm . $_sentryRootSpanTimer ) ;
34+ /** Finish top-level component span and activity with a debounce configured using `timeout` option */
35+ function finishRootComponentSpan ( vm : VueSentry , timestamp : number , timeout : number ) : void {
36+ if ( vm . $_sentryRootComponentSpanTimer ) {
37+ clearTimeout ( vm . $_sentryRootComponentSpanTimer ) ;
3838 }
3939
40- vm . $_sentryRootSpanTimer = setTimeout ( ( ) => {
41- if ( vm . $root ?. $_sentryRootSpan ) {
42- vm . $root . $_sentryRootSpan . end ( timestamp ) ;
43- vm . $root . $_sentryRootSpan = undefined ;
40+ vm . $_sentryRootComponentSpanTimer = setTimeout ( ( ) => {
41+ if ( vm . $root ?. $_sentryRootComponentSpan ) {
42+ vm . $root . $_sentryRootComponentSpan . end ( timestamp ) ;
43+ vm . $root . $_sentryRootComponentSpan = undefined ;
4444 }
4545 } , timeout ) ;
4646}
@@ -77,12 +77,12 @@ export const createTracingMixins = (options: Partial<TracingOptions> = {}): Mixi
7777
7878 for ( const internalHook of internalHooks ) {
7979 mixins [ internalHook ] = function ( this : VueSentry ) {
80- const isRoot = this . $root === this ;
80+ const isRootComponent = this . $root === this ;
8181
82- // 1. Root span creation
83- if ( isRoot ) {
84- this . $_sentryRootSpan =
85- this . $_sentryRootSpan ||
82+ // 1. Root Component span creation
83+ if ( isRootComponent ) {
84+ this . $_sentryRootComponentSpan =
85+ this . $_sentryRootComponentSpan ||
8686 startInactiveSpan ( {
8787 name : 'Application Render' ,
8888 op : `${ VUE_OP } .render` ,
@@ -97,7 +97,7 @@ export const createTracingMixins = (options: Partial<TracingOptions> = {}): Mixi
9797 const componentName = formatComponentName ( this , false ) ;
9898
9999 const shouldTrack =
100- isRoot || // We always want to track the root component
100+ isRootComponent || // We always want to track the root component
101101 ( Array . isArray ( options . trackComponents )
102102 ? findTrackComponent ( options . trackComponents , componentName )
103103 : options . trackComponents ) ;
@@ -106,11 +106,11 @@ export const createTracingMixins = (options: Partial<TracingOptions> = {}): Mixi
106106 return ;
107107 }
108108
109- this . $_sentrySpans = this . $_sentrySpans || { } ;
109+ this . $_sentryComponentSpans = this . $_sentryComponentSpans || { } ;
110110
111111 // 3. Span lifecycle management based on the hook type
112112 const isBeforeHook = internalHook === internalHooks [ 0 ] ;
113- const activeSpan = this . $root ?. $_sentryRootSpan || getActiveSpan ( ) ;
113+ const activeSpan = this . $root ?. $_sentryRootComponentSpan || getActiveSpan ( ) ;
114114
115115 if ( isBeforeHook ) {
116116 // Starting a new span in the "before" hook
@@ -119,12 +119,12 @@ export const createTracingMixins = (options: Partial<TracingOptions> = {}): Mixi
119119 // We're actually not sure if it will ever be the case that cleanup hooks were not called.
120120 // However, we had users report that spans didn't get finished, so we finished the span before
121121 // starting a new one, just to be sure.
122- const oldSpan = this . $_sentrySpans [ operation ] ;
122+ const oldSpan = this . $_sentryComponentSpans [ operation ] ;
123123 if ( oldSpan ) {
124124 oldSpan . end ( ) ;
125125 }
126126
127- this . $_sentrySpans [ operation ] = startInactiveSpan ( {
127+ this . $_sentryComponentSpans [ operation ] = startInactiveSpan ( {
128128 name : `Vue ${ componentName } ` ,
129129 op : `${ VUE_OP } .${ operation } ` ,
130130 attributes : {
@@ -136,14 +136,14 @@ export const createTracingMixins = (options: Partial<TracingOptions> = {}): Mixi
136136 }
137137 } else {
138138 // The span should already be added via the first handler call (in the 'before' hook)
139- const span = this . $_sentrySpans [ operation ] ;
139+ const span = this . $_sentryComponentSpans [ operation ] ;
140140 // The before hook did not start the tracking span, so the span was not added.
141141 // This is probably because it happened before there is an active transaction
142142 if ( ! span ) return ; // Skip if no span was created in the "before" hook
143143 span . end ( ) ;
144144
145- // For any "after" hook, also schedule the root span to finish
146- finishRootSpan ( this , timestampInSeconds ( ) , options . timeout || 2000 ) ;
145+ // For any "after" hook, also schedule the root component span to finish
146+ finishRootComponentSpan ( this , timestampInSeconds ( ) , options . timeout || 2000 ) ;
147147 }
148148 } ;
149149 }
0 commit comments