@@ -4,26 +4,26 @@ index 35d6b70ed6..b6a305178e 100644
44+++ b/instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaInstrumentationModule.java
55@@ -6,17 +6,18 @@
66 package io.opentelemetry.javaagent.instrumentation.awslambdacore.v1_0;
7-
7+
88 import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
99- import static java.util.Collections.singletonList;
1010 import static net.bytebuddy.matcher.ElementMatchers.not;
11-
11+
1212 import com.google.auto.service.AutoService;
1313 import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1414 import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1515+ import java.util.Arrays;
1616 import java.util.List;
1717 import net.bytebuddy.matcher.ElementMatcher;
18-
18+
1919 @AutoService(InstrumentationModule.class)
2020 public class AwsLambdaInstrumentationModule extends InstrumentationModule {
2121+
2222 public AwsLambdaInstrumentationModule() {
2323 super("aws-lambda-core", "aws-lambda-core-1.0", "aws-lambda");
2424 }
2525@@ -34,6 +35,8 @@ public class AwsLambdaInstrumentationModule extends InstrumentationModule {
26-
26+
2727 @Override
2828 public List<TypeInstrumentation> typeInstrumentations() {
2929- return singletonList(new AwsLambdaRequestHandlerInstrumentation());
@@ -32,9 +32,22 @@ index 35d6b70ed6..b6a305178e 100644
3232+ new AwsLambdaRequestStreamHandlerInstrumentation());
3333 }
3434 }
35+ diff --git a/instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaRequestHandlerInstrumentation.java b/instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaRequestHandlerInstrumentation.java
36+ index 93071e04d2..add9f64276 100644
37+ --- a/instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaRequestHandlerInstrumentation.java
38+ +++ b/instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaRequestHandlerInstrumentation.java
39+ @@ -68,7 +68,7 @@ public class AwsLambdaRequestHandlerInstrumentation implements TypeInstrumentati
40+ @Advice.Local("otelContext") io.opentelemetry.context.Context otelContext,
41+ @Advice.Local("otelScope") Scope otelScope) {
42+ input = AwsLambdaRequest.create(context, arg, Collections.emptyMap());
43+ - io.opentelemetry.context.Context parentContext = functionInstrumenter().extract(input);
44+ + io.opentelemetry.context.Context parentContext = functionInstrumenter().extract(input, context);
45+
46+ if (!functionInstrumenter().shouldStart(parentContext, input)) {
47+ return;
3548diff --git a/instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaRequestStreamHandlerInstrumentation.java b/instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaRequestStreamHandlerInstrumentation.java
3649new file mode 100644
37- index 0000000000..1c4ef1ac07
50+ index 0000000000..1a8fd8f986
3851--- /dev/null
3952+++ b/instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaRequestStreamHandlerInstrumentation.java
4053@@ -0,0 +1,98 @@
@@ -109,7 +122,7 @@ index 0000000000..1c4ef1ac07
109122+ @Advice.Local("otelScope") Scope otelScope) {
110123+
111124+ otelInput = AwsLambdaRequest.create(context, input, Collections.emptyMap());
112- + io.opentelemetry.context.Context parentContext = functionInstrumenter().extract(otelInput);
125+ + io.opentelemetry.context.Context parentContext = functionInstrumenter().extract(otelInput, context );
113126+
114127+ if (!functionInstrumenter().shouldStart(parentContext, otelInput)) {
115128+ return;
@@ -261,19 +274,19 @@ index 9e0e372241..2dd6051c23 100644
261274+++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaInstrumentationModule.java
262275@@ -6,11 +6,11 @@
263276 package io.opentelemetry.javaagent.instrumentation.awslambdaevents.v2_2;
264-
277+
265278 import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.hasClassesNamed;
266279- import static java.util.Collections.singletonList;
267-
280+
268281 import com.google.auto.service.AutoService;
269282 import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
270283 import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
271284+ import java.util.Arrays;
272285 import java.util.List;
273286 import net.bytebuddy.matcher.ElementMatcher;
274-
287+
275288@@ -32,6 +32,8 @@ public class AwsLambdaInstrumentationModule extends InstrumentationModule {
276-
289+
277290 @Override
278291 public List<TypeInstrumentation> typeInstrumentations() {
279292- return singletonList(new AwsLambdaRequestHandlerInstrumentation());
@@ -282,9 +295,22 @@ index 9e0e372241..2dd6051c23 100644
282295+ new AwsLambdaRequestStreamHandlerInstrumentation());
283296 }
284297 }
298+ diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestHandlerInstrumentation.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestHandlerInstrumentation.java
299+ index e059250807..1fa80c3735 100644
300+ --- a/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestHandlerInstrumentation.java
301+ +++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestHandlerInstrumentation.java
302+ @@ -70,7 +70,7 @@ public class AwsLambdaRequestHandlerInstrumentation implements TypeInstrumentati
303+ }
304+ input = AwsLambdaRequest.create(context, arg, headers);
305+ io.opentelemetry.context.Context parentContext =
306+ - AwsLambdaInstrumentationHelper.functionInstrumenter().extract(input);
307+ + AwsLambdaInstrumentationHelper.functionInstrumenter().extract(input, context);
308+
309+ if (!AwsLambdaInstrumentationHelper.functionInstrumenter()
310+ .shouldStart(parentContext, input)) {
285311diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestStreamHandlerInstrumentation.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestStreamHandlerInstrumentation.java
286312new file mode 100644
287- index 0000000000..f21a4a5526
313+ index 0000000000..ab6d9aa5ba
288314--- /dev/null
289315+++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestStreamHandlerInstrumentation.java
290316@@ -0,0 +1,104 @@
@@ -353,7 +379,7 @@ index 0000000000..f21a4a5526
353379+ @Advice.Local("otelMessageScope") Scope messageScope) {
354380+ otelInput = AwsLambdaRequest.create(context, input, Collections.emptyMap());
355381+ io.opentelemetry.context.Context parentContext =
356- + AwsLambdaInstrumentationHelper.functionInstrumenter().extract(otelInput);
382+ + AwsLambdaInstrumentationHelper.functionInstrumenter().extract(otelInput, context );
357383+
358384+ if (!AwsLambdaInstrumentationHelper.functionInstrumenter()
359385+ .shouldStart(parentContext, otelInput)) {
0 commit comments