@@ -13,6 +13,17 @@ import { ICAPIClientService } from '../../endpoint/common/capiClient';
13
13
import { IEnvService } from '../../env/common/envService' ;
14
14
import { TelemetryProperties } from '../common/telemetry' ;
15
15
16
+ export function wrapEventNameForPrefixRemoval ( eventName : string ) : string {
17
+ return `wrapped-telemetry-event-name-${ eventName } -wrapped-telemetry-event-name` ;
18
+ }
19
+ function isWrappedEventName ( eventName : string ) : boolean {
20
+ return eventName . includes ( 'wrapped-telemetry-event-name-' ) && eventName . endsWith ( '-wrapped-telemetry-event-name' ) ;
21
+ }
22
+ function unwrapEventNameFromPrefix ( eventName : string ) : string {
23
+ const match = eventName . match ( / w r a p p e d - t e l e m e t r y - e v e n t - n a m e - ( .* ?) - w r a p p e d - t e l e m e t r y - e v e n t - n a m e / ) ;
24
+ return match ? match [ 1 ] : eventName ;
25
+ }
26
+
16
27
export class AzureInsightReporter implements TelemetrySender {
17
28
private readonly client : appInsights . TelemetryClient ;
18
29
constructor ( capiClientService : ICAPIClientService , envService : IEnvService , private readonly namespace : string , key : string ) {
@@ -41,7 +52,7 @@ export class AzureInsightReporter implements TelemetrySender {
41
52
sendEventData ( eventName : string , data ?: Record < string , any > | undefined ) : void {
42
53
const { properties, measurements } = this . separateData ( data || { } ) ;
43
54
this . client . trackEvent ( {
44
- name : this . qualifyEventName ( eventName ) ,
55
+ name : this . massageEventName ( eventName ) ,
45
56
properties,
46
57
measurements,
47
58
} ) ;
@@ -66,7 +77,10 @@ export class AzureInsightReporter implements TelemetrySender {
66
77
} ) ;
67
78
}
68
79
69
- private qualifyEventName ( eventName : string ) : string {
80
+ private massageEventName ( eventName : string ) : string {
81
+ if ( isWrappedEventName ( eventName ) ) {
82
+ return unwrapEventNameFromPrefix ( eventName ) ;
83
+ }
70
84
return eventName . includes ( this . namespace ) ? eventName : `${ this . namespace } /${ eventName } ` ;
71
85
}
72
86
}
0 commit comments