Skip to content

Commit 719f645

Browse files
authored
Merge branch 'aws:main' into conorstw/types-NEW
2 parents e0bd323 + 37d3cfd commit 719f645

File tree

2 files changed

+25
-14
lines changed

2 files changed

+25
-14
lines changed

runtimes/runtimes/standalone.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,11 @@ export const standalone = (props: RuntimeProps) => {
200200
},
201201
error => {
202202
console.error(error)
203-
process.exit(10)
203+
// arbitrary 5 second timeout to ensure console.error flushes before process exit
204+
// note: webpacked version may output exclusively to stdout, not stderr.
205+
setTimeout(() => {
206+
process.exit(10)
207+
}, 5000)
204208
}
205209
)
206210
.catch((error: Error) => {

runtimes/runtimes/util/telemetryLspServer.ts

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,23 +47,30 @@ export function getTelemetryLspServer(
4747
const optOut = params.initializationOptions?.telemetryOptOut ?? true // telemetry disabled if option not provided
4848
const endpoint = runtime.getConfiguration('TELEMETRY_GATEWAY_ENDPOINT') ?? DEFAULT_TELEMETRY_ENDPOINT
4949

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}`)
5154

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+
})
6063

61-
OperationalTelemetryProvider.setTelemetryInstance(optel)
64+
OperationalTelemetryProvider.setTelemetryInstance(optel)
6265

63-
logging.info(`Initialized Runtimes OperationalTelemetry with optOut=${optOut}`)
66+
logging.info(`Initialized Runtimes OperationalTelemetry with optOut=${optOut}`)
6467

65-
setServerCrashTelemetryListeners()
66-
setMemoryUsageTelemetry()
68+
setServerCrashTelemetryListeners()
69+
setMemoryUsageTelemetry()
70+
} catch (error) {
71+
logging.warn(`Failed to initialize telemetry: ${error}`)
72+
}
73+
})
6774

6875
return {
6976
capabilities: {},

0 commit comments

Comments
 (0)