diff --git a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingRequestApiGatewayWrapper.java b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingRequestApiGatewayWrapper.java index 982916c077..cd82f6b0f2 100644 --- a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingRequestApiGatewayWrapper.java +++ b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingRequestApiGatewayWrapper.java @@ -21,7 +21,7 @@ public class TracingRequestApiGatewayWrapper } // Visible for testing - TracingRequestApiGatewayWrapper(OpenTelemetrySdk openTelemetrySdk) { - super(openTelemetrySdk); + TracingRequestApiGatewayWrapper(OpenTelemetrySdk openTelemetrySdk, WrappedLambda wrappedLambda) { + super(openTelemetrySdk, wrappedLambda); } } diff --git a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingRequestStreamWrapper.java b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingRequestStreamWrapper.java index 31ca0c0e7a..2f8705a4d8 100644 --- a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingRequestStreamWrapper.java +++ b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingRequestStreamWrapper.java @@ -21,29 +21,28 @@ import java.io.OutputStream; */ public class TracingRequestStreamWrapper extends TracingRequestStreamHandler { - // visible for testing - static WrappedLambda WRAPPED_LAMBDA = WrappedLambda.fromConfiguration(); + private final WrappedLambda wrappedLambda; public TracingRequestStreamWrapper() { - this(OpenTelemetrySdkAutoConfiguration.initialize()); + this(OpenTelemetrySdkAutoConfiguration.initialize(), WrappedLambda.fromConfiguration()); } // Visible for testing - TracingRequestStreamWrapper(OpenTelemetrySdk openTelemetrySdk) { + TracingRequestStreamWrapper(OpenTelemetrySdk openTelemetrySdk, WrappedLambda wrappedLambda) { super(openTelemetrySdk, WrapperConfiguration.flushTimeout()); + this.wrappedLambda = wrappedLambda; } @Override protected void doHandleRequest(InputStream inputStream, OutputStream output, Context context) throws IOException { - if (!(WRAPPED_LAMBDA.getTargetObject() instanceof RequestStreamHandler)) { + if (!(wrappedLambda.getTargetObject() instanceof RequestStreamHandler)) { throw new RuntimeException( - WRAPPED_LAMBDA.getTargetClass().getName() - + " is not an instance of RequestStreamHandler"); + wrappedLambda.getTargetClass().getName() + " is not an instance of RequestStreamHandler"); } - ((RequestStreamHandler) WRAPPED_LAMBDA.getTargetObject()) + ((RequestStreamHandler) wrappedLambda.getTargetObject()) .handleRequest(inputStream, output, context); } } diff --git a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingRequestWrapper.java b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingRequestWrapper.java index e11804188a..5498cb0443 100644 --- a/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingRequestWrapper.java +++ b/instrumentation/aws-lambda-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambda/v1_0/TracingRequestWrapper.java @@ -17,7 +17,7 @@ public class TracingRequestWrapper extends TracingRequestWrapperBase extends TracingRequestHandler { + private final WrappedLambda wrappedLambda; + protected TracingRequestWrapperBase() { - this(OpenTelemetrySdkAutoConfiguration.initialize()); + this(OpenTelemetrySdkAutoConfiguration.initialize(), WrappedLambda.fromConfiguration()); } // Visible for testing - TracingRequestWrapperBase(OpenTelemetrySdk openTelemetrySdk) { + TracingRequestWrapperBase(OpenTelemetrySdk openTelemetrySdk, WrappedLambda wrappedLambda) { super(openTelemetrySdk, WrapperConfiguration.flushTimeout()); + this.wrappedLambda = wrappedLambda; } - // visible for testing - static WrappedLambda WRAPPED_LAMBDA = WrappedLambda.fromConfiguration(); - private Object[] createParametersArray(Method targetMethod, I input, Context context) { Class[] parameterTypes = targetMethod.getParameterTypes(); Object[] parameters = new Object[parameterTypes.length]; @@ -51,12 +51,12 @@ abstract class TracingRequestWrapperBase extends TracingRequestHandler wrapperConstructor) { environmentVariables.set(WrappedLambda.OTEL_LAMBDA_HANDLER_ENV_KEY, handler) - TracingRequestWrapper.WRAPPED_LAMBDA = WrappedLambda.fromConfiguration() - wrapper = wrapperConstructor.call(testRunner().openTelemetrySdk) + wrapper = wrapperConstructor.call(testRunner().openTelemetrySdk, WrappedLambda.fromConfiguration()) } }