Skip to content

Commit 9a7f712

Browse files
authored
Add instrumentation for spring-cloud-aws SqsListener annotation (#12314)
1 parent 6cd0715 commit 9a7f712

File tree

61 files changed

+847
-81
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+847
-81
lines changed

dependencyManagement/build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,8 @@ val DEPENDENCIES = listOf(
115115
"org.junit-pioneer:junit-pioneer:1.9.1",
116116
"org.objenesis:objenesis:3.4",
117117
"javax.validation:validation-api:2.0.1.Final",
118-
"org.snakeyaml:snakeyaml-engine:2.8"
118+
"org.snakeyaml:snakeyaml-engine:2.8",
119+
"org.elasticmq:elasticmq-rest-sqs_2.13:1.6.8"
119120
)
120121

121122
javaPlatform {

docs/supported-libraries.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ These are the supported libraries and frameworks:
126126
| [Spark Web Framework](https://github.com/perwendel/spark) | 2.3+ | N/A | Provides `http.route` [2] |
127127
| [Spring Batch](https://spring.io/projects/spring-batch) | 3.0+ (not including 5.0+ yet) | N/A | none |
128128
| [Spring Boot](https://spring.io/projects/spring-boot) | | [opentelemetry-spring-boot-resources](https://opentelemetry.io/docs/zero-code/java/spring-boot/) | none |
129+
| [Spring Cloud AWS](https://spring.io/projects/spring-cloud-aws) | 3.0+ | N/A | [Messaging Spans] |
129130
| [Spring Cloud Gateway](https://github.com/spring-cloud/spring-cloud-gateway) | 2.0+ | N/A | Provides `http.route` [2] |
130131
| [Spring Core](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/core/package-summary.html) | 2.0+ | N/A | Context propagation |
131132
| [Spring Data](https://spring.io/projects/spring-data) | 1.8+ | N/A | none |

instrumentation/aws-sdk/aws-sdk-1.11/testing/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ dependencies {
1616
compileOnly("com.amazonaws:aws-java-sdk-sqs:1.11.106")
1717

1818
// needed for SQS - using emq directly as localstack references emq v0.15.7 ie WITHOUT AWS trace header propagation
19-
implementation("org.elasticmq:elasticmq-rest-sqs_2.12:1.0.0")
19+
implementation("org.elasticmq:elasticmq-rest-sqs_2.13")
2020

2121
implementation("com.google.guava:guava")
2222

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.awssdk.v2_2;
6+
package io.opentelemetry.instrumentation.awssdk.v2_2.internal;
77

8+
/**
9+
* This class is internal and is hence not for public use. Its APIs are unstable and can change at
10+
* any time.
11+
*/
812
public final class LambdaAdviceBridge {
913
private LambdaAdviceBridge() {}
1014

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.awssdk.v2_2;
6+
package io.opentelemetry.instrumentation.awssdk.v2_2.internal;
77

8+
/**
9+
* This class is internal and is hence not for public use. Its APIs are unstable and can change at
10+
* any time.
11+
*/
812
public final class SnsAdviceBridge {
913
private SnsAdviceBridge() {}
1014

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33
* SPDX-License-Identifier: Apache-2.0
44
*/
55

6-
package io.opentelemetry.instrumentation.awssdk.v2_2;
6+
package io.opentelemetry.instrumentation.awssdk.v2_2.internal;
77

8+
/**
9+
* This class is internal and is hence not for public use. Its APIs are unstable and can change at
10+
* any time.
11+
*/
812
public final class SqsAdviceBridge {
913
private SqsAdviceBridge() {}
1014

instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/LambdaInstrumentationModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import static net.bytebuddy.matcher.ElementMatchers.none;
1010

1111
import com.google.auto.service.AutoService;
12-
import io.opentelemetry.instrumentation.awssdk.v2_2.LambdaAdviceBridge;
12+
import io.opentelemetry.instrumentation.awssdk.v2_2.internal.LambdaAdviceBridge;
1313
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1414
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
1515
import net.bytebuddy.asm.Advice;

instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/SnsInstrumentationModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import static net.bytebuddy.matcher.ElementMatchers.none;
1010

1111
import com.google.auto.service.AutoService;
12-
import io.opentelemetry.instrumentation.awssdk.v2_2.SnsAdviceBridge;
12+
import io.opentelemetry.instrumentation.awssdk.v2_2.internal.SnsAdviceBridge;
1313
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1414
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
1515
import net.bytebuddy.asm.Advice;

instrumentation/aws-sdk/aws-sdk-2.2/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/awssdk/v2_2/SqsInstrumentationModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import static net.bytebuddy.matcher.ElementMatchers.none;
1010

1111
import com.google.auto.service.AutoService;
12-
import io.opentelemetry.instrumentation.awssdk.v2_2.SqsAdviceBridge;
12+
import io.opentelemetry.instrumentation.awssdk.v2_2.internal.SqsAdviceBridge;
1313
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
1414
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
1515
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;

instrumentation/aws-sdk/aws-sdk-2.2/library/src/main/java/io/opentelemetry/instrumentation/awssdk/v2_2/AwsSdkTelemetry.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,12 @@
88
import io.opentelemetry.api.OpenTelemetry;
99
import io.opentelemetry.context.propagation.TextMapPropagator;
1010
import io.opentelemetry.instrumentation.api.instrumenter.Instrumenter;
11+
import io.opentelemetry.instrumentation.awssdk.v2_2.internal.AwsSdkInstrumenterFactory;
12+
import io.opentelemetry.instrumentation.awssdk.v2_2.internal.Response;
13+
import io.opentelemetry.instrumentation.awssdk.v2_2.internal.SqsImpl;
14+
import io.opentelemetry.instrumentation.awssdk.v2_2.internal.SqsProcessRequest;
15+
import io.opentelemetry.instrumentation.awssdk.v2_2.internal.SqsReceiveRequest;
16+
import io.opentelemetry.instrumentation.awssdk.v2_2.internal.TracingExecutionInterceptor;
1117
import io.opentelemetry.javaagent.tooling.muzzle.NoMuzzle;
1218
import java.util.List;
1319
import javax.annotation.Nullable;

0 commit comments

Comments
 (0)