@@ -47,23 +47,30 @@ export function getTelemetryLspServer(
47
47
const optOut = params . initializationOptions ?. telemetryOptOut ?? true // telemetry disabled if option not provided
48
48
const endpoint = runtime . getConfiguration ( 'TELEMETRY_GATEWAY_ENDPOINT' ) ?? DEFAULT_TELEMETRY_ENDPOINT
49
49
50
- logging . debug ( `Configuring Runtimes OperationalTelemetry with endpoint: ${ endpoint } ` )
50
+ // Initialize telemetry asynchronously without blocking
51
+ setImmediate ( ( ) => {
52
+ try {
53
+ logging . debug ( `Configuring Runtimes OperationalTelemetry with endpoint: ${ endpoint } ` )
51
54
52
- const optel = OperationalTelemetryService . getInstance ( {
53
- serviceName : props . name ,
54
- serviceVersion : props . version ,
55
- extendedClientInfo : params . initializationOptions ?. aws ?. clientInfo ,
56
- logging : logging ,
57
- endpoint : endpoint ,
58
- telemetryOptOut : optOut ,
59
- } )
55
+ const optel = OperationalTelemetryService . getInstance ( {
56
+ serviceName : props . name ,
57
+ serviceVersion : props . version ,
58
+ extendedClientInfo : params . initializationOptions ?. aws ?. clientInfo ,
59
+ logging : logging ,
60
+ endpoint : endpoint ,
61
+ telemetryOptOut : optOut ,
62
+ } )
60
63
61
- OperationalTelemetryProvider . setTelemetryInstance ( optel )
64
+ OperationalTelemetryProvider . setTelemetryInstance ( optel )
62
65
63
- logging . info ( `Initialized Runtimes OperationalTelemetry with optOut=${ optOut } ` )
66
+ logging . info ( `Initialized Runtimes OperationalTelemetry with optOut=${ optOut } ` )
64
67
65
- setServerCrashTelemetryListeners ( )
66
- setMemoryUsageTelemetry ( )
68
+ setServerCrashTelemetryListeners ( )
69
+ setMemoryUsageTelemetry ( )
70
+ } catch ( error ) {
71
+ logging . warn ( `Failed to initialize telemetry: ${ error } ` )
72
+ }
73
+ } )
67
74
68
75
return {
69
76
capabilities : { } ,
0 commit comments