in common/lib/utils/telemetry/default_telemetry_factory.ts [59:83]
private static async getTelemetryFactory(backend: string, type: string) {
try {
switch (backend) {
case "otlp":
if (!DefaultTelemetryFactory.openTelemetryFactory) {
DefaultTelemetryFactory.openTelemetryFactory = await import("./open_telemetry_factory");
}
return new DefaultTelemetryFactory.openTelemetryFactory.OpenTelemetryFactory();
case "xray":
if (!DefaultTelemetryFactory.xrayTelemetryFactory) {
DefaultTelemetryFactory.xrayTelemetryFactory = await import("./xray_telemetry_factory");
}
return DefaultTelemetryFactory.xrayTelemetryFactory.XRayTelemetryFactory();
case "none":
return new NullTelemetryFactory();
default:
throw new AwsWrapperError(Messages.get("DefaultTelemetryFactory.invalidBackend", backend, type));
}
} catch (error: any) {
if (error instanceof AwsWrapperError) {
throw error;
}
throw new AwsWrapperError(Messages.get("DefaultTelemetryFactory.importFailure"));
}
}