Skip to content

Commit aaec1de

Browse files
committed
adapt patches (#1191) (#1218) into release/v2.11.x branch
1 parent aba62f3 commit aaec1de

File tree

2 files changed

+41
-75
lines changed

2 files changed

+41
-75
lines changed

lambda-layer/patches/StreamHandlerInstrumentation.patch

Lines changed: 38 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -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;
3548
diff --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
3649
new 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)) {
285311
diff --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
286312
new 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)) {

lambda-layer/patches/opentelemetry-java-instrumentation.patch

Lines changed: 3 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,5 @@
1-
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
2-
index 93071e04d2..add9f64276 100644
3-
--- a/instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaRequestHandlerInstrumentation.java
4-
+++ b/instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaRequestHandlerInstrumentation.java
5-
@@ -68,7 +68,7 @@ public class AwsLambdaRequestHandlerInstrumentation implements TypeInstrumentati
6-
@Advice.Local("otelContext") io.opentelemetry.context.Context otelContext,
7-
@Advice.Local("otelScope") Scope otelScope) {
8-
input = AwsLambdaRequest.create(context, arg, Collections.emptyMap());
9-
- io.opentelemetry.context.Context parentContext = functionInstrumenter().extract(input);
10-
+ io.opentelemetry.context.Context parentContext = functionInstrumenter().extract(input, context);
11-
12-
if (!functionInstrumenter().shouldStart(parentContext, input)) {
13-
return;
14-
diff --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
15-
index a6b89d253d..e62d30eddb 100644
16-
--- a/instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaRequestStreamHandlerInstrumentation.java
17-
+++ b/instrumentation/aws-lambda/aws-lambda-core-1.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdacore/v1_0/AwsLambdaRequestStreamHandlerInstrumentation.java
18-
@@ -69,7 +69,7 @@ public class AwsLambdaRequestStreamHandlerInstrumentation implements TypeInstrum
19-
@Advice.Local("otelScope") Scope otelScope) {
20-
21-
otelInput = AwsLambdaRequest.create(context, input, Collections.emptyMap());
22-
- io.opentelemetry.context.Context parentContext = functionInstrumenter().extract(otelInput);
23-
+ io.opentelemetry.context.Context parentContext = functionInstrumenter().extract(otelInput, context);
24-
25-
if (!functionInstrumenter().shouldStart(parentContext, otelInput)) {
26-
return;
271
diff --git a/instrumentation/aws-lambda/aws-lambda-core-1.0/library/build.gradle.kts b/instrumentation/aws-lambda/aws-lambda-core-1.0/library/build.gradle.kts
28-
index df605add2f..e16c736990 100644
2+
index 4fcb6700fd..e1a12093df 100644
293
--- a/instrumentation/aws-lambda/aws-lambda-core-1.0/library/build.gradle.kts
304
+++ b/instrumentation/aws-lambda/aws-lambda-core-1.0/library/build.gradle.kts
315
@@ -5,11 +5,12 @@ plugins {
@@ -42,14 +16,6 @@ index df605add2f..e16c736990 100644
4216

4317
// We do lightweight parsing of JSON to extract HTTP headers from requests for propagation.
4418
// This will be commonly needed even for users that don't use events, but luckily it's not too big.
45-
@@ -26,6 +27,7 @@ dependencies {
46-
47-
testImplementation(project(":instrumentation:aws-lambda:aws-lambda-core-1.0:testing"))
48-
testImplementation("uk.org.webcompere:system-stubs-jupiter")
49-
+ testImplementation("com.google.guava:guava")
50-
}
51-
52-
tasks.withType<Test>().configureEach {
5319
diff --git a/instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/TracingRequestHandler.java b/instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/TracingRequestHandler.java
5420
index 873040f66e..b38648e8cf 100644
5521
--- a/instrumentation/aws-lambda/aws-lambda-core-1.0/library/src/main/java/io/opentelemetry/instrumentation/awslambdacore/v1_0/TracingRequestHandler.java
@@ -635,32 +601,6 @@ index 0000000000..4b0f354769
635601
+ verify(mockLambdaContextWithNoSuchMethodError, times(1)).getXrayTraceId();
636602
+ }
637603
+}
638-
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
639-
index e059250807..1fa80c3735 100644
640-
--- a/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestHandlerInstrumentation.java
641-
+++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestHandlerInstrumentation.java
642-
@@ -70,7 +70,7 @@ public class AwsLambdaRequestHandlerInstrumentation implements TypeInstrumentati
643-
}
644-
input = AwsLambdaRequest.create(context, arg, headers);
645-
io.opentelemetry.context.Context parentContext =
646-
- AwsLambdaInstrumentationHelper.functionInstrumenter().extract(input);
647-
+ AwsLambdaInstrumentationHelper.functionInstrumenter().extract(input, context);
648-
649-
if (!AwsLambdaInstrumentationHelper.functionInstrumenter()
650-
.shouldStart(parentContext, input)) {
651-
diff --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
652-
index fb5971016a..d31389e1c4 100644
653-
--- a/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestStreamHandlerInstrumentation.java
654-
+++ b/instrumentation/aws-lambda/aws-lambda-events-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awslambdaevents/v2_2/AwsLambdaRequestStreamHandlerInstrumentation.java
655-
@@ -62,7 +62,7 @@ public class AwsLambdaRequestStreamHandlerInstrumentation implements TypeInstrum
656-
Map<String, String> headers = Collections.emptyMap();
657-
otelInput = AwsLambdaRequest.create(context, input, headers);
658-
io.opentelemetry.context.Context parentContext =
659-
- AwsLambdaInstrumentationHelper.functionInstrumenter().extract(otelInput);
660-
+ AwsLambdaInstrumentationHelper.functionInstrumenter().extract(otelInput, context);
661-
662-
if (!AwsLambdaInstrumentationHelper.functionInstrumenter()
663-
.shouldStart(parentContext, otelInput)) {
664604
diff --git a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/AwsLambdaSqsInstrumenterFactory.java b/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/AwsLambdaSqsInstrumenterFactory.java
665605
index 4cd11fc0c4..7b7d62755c 100644
666606
--- a/instrumentation/aws-lambda/aws-lambda-events-2.2/library/src/main/java/io/opentelemetry/instrumentation/awslambdaevents/v2_2/internal/AwsLambdaSqsInstrumenterFactory.java
@@ -672,9 +612,9 @@ index 4cd11fc0c4..7b7d62755c 100644
672612
- .addSpanLinksExtractor(new SqsMessageSpanLinksExtractor())
673613
.buildInstrumenter(SpanKindExtractor.alwaysConsumer());
674614
}
675-
615+
676616
diff --git a/version.gradle.kts b/version.gradle.kts
677-
index ec9690086c..b267166804 100644
617+
index 7900c9a4d9..80383d7c22 100644
678618
--- a/version.gradle.kts
679619
+++ b/version.gradle.kts
680620
@@ -1,5 +1,5 @@

0 commit comments

Comments
 (0)