Skip to content

Commit 497f57f

Browse files
authored
Update OTel to 1.3.1 (#61)
* Update OTel to 1.3.1 * Cleanup
1 parent 86e0e57 commit 497f57f

File tree

4 files changed

+25
-16
lines changed

4 files changed

+25
-16
lines changed

dependencyManagement/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ val DEPENDENCY_BOMS = listOf(
3333
"com.google.protobuf:protobuf-bom:3.17.0",
3434
"com.linecorp.armeria:armeria-bom:1.7.2",
3535
"io.grpc:grpc-bom:1.37.1",
36-
"io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:${if (!TEST_SNAPSHOTS) "1.2.0-alpha" else "1.3.0-alpha-SNAPSHOT"}",
36+
"io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:${if (!TEST_SNAPSHOTS) "1.3.1-alpha" else "1.4.0-alpha-SNAPSHOT"}",
3737
"org.apache.logging.log4j:log4j-bom:2.14.1",
3838
"org.junit:junit-bom:5.7.2",
3939
"org.springframework.boot:spring-boot-dependencies:2.4.5",
@@ -66,7 +66,7 @@ val DEPENDENCIES = listOf(
6666
"commons-logging:commons-logging:1.2",
6767
"com.sparkjava:spark-core:2.9.3",
6868
"com.squareup.okhttp3:okhttp:4.9.1",
69-
"io.opentelemetry.javaagent:opentelemetry-javaagent:${if (!TEST_SNAPSHOTS) "1.2.0" else "1.3.0-SNAPSHOT"}",
69+
"io.opentelemetry.javaagent:opentelemetry-javaagent:${if (!TEST_SNAPSHOTS) "1.3.1" else "1.4.0-SNAPSHOT"}",
7070
"net.bytebuddy:byte-buddy:1.11.0"
7171
)
7272

instrumentation/log4j-2.13.2/src/main/java/software/amazon/opentelemetry/javaagent/instrumentation/log4j_2_13_2/AwsXrayLog4jInstrumentationModule.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,9 @@
2020

2121
import io.opentelemetry.javaagent.extension.instrumentation.InstrumentationModule;
2222
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
23+
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
2324
import java.util.Collections;
2425
import java.util.List;
25-
import java.util.Map;
26-
import net.bytebuddy.description.method.MethodDescription;
2726
import net.bytebuddy.description.type.TypeDescription;
2827
import net.bytebuddy.matcher.ElementMatcher;
2928

@@ -36,11 +35,10 @@ public AwsXrayLog4jInstrumentationModule() {
3635
// The SPI will be merged with what's in the agent so we don't need to inject it, only our
3736
// provider implementation.
3837
@Override
39-
public String[] helperResourceNames() {
40-
return new String[] {
41-
"software.amazon.opentelemetry.javaagent.instrumentation.log4j_2_13_2."
42-
+ "AwsXrayContextDataProvider"
43-
};
38+
public List<String> helperResourceNames() {
39+
return Collections.singletonList(
40+
"software.amazon.opentelemetry.javaagent.instrumentation.log4j_2_13_2."
41+
+ "AwsXrayContextDataProvider");
4442
}
4543

4644
@Override
@@ -65,9 +63,8 @@ public ElementMatcher<TypeDescription> typeMatcher() {
6563
}
6664

6765
@Override
68-
public Map<? extends ElementMatcher<? super MethodDescription>, String> transformers() {
66+
public void transform(TypeTransformer transformer) {
6967
// Nothing to instrument, no methods to match
70-
return Collections.emptyMap();
7168
}
7269
}
7370
}

instrumentation/logback-1.0/src/main/java/software/amazon/opentelemetry/javaagent/instrumentation/logback_1_0/AwsXrayLoggingEventInstrumentation.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import static io.opentelemetry.javaagent.extension.matcher.AgentElementMatchers.implementsInterface;
1919
import static io.opentelemetry.javaagent.extension.matcher.ClassLoaderMatcher.hasClassesNamed;
20-
import static java.util.Collections.singletonMap;
2120
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
2221
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
2322
import static net.bytebuddy.matcher.ElementMatchers.named;
@@ -28,11 +27,11 @@
2827
import io.opentelemetry.api.trace.SpanContext;
2928
import io.opentelemetry.instrumentation.logback.v1_0.internal.UnionMap;
3029
import io.opentelemetry.javaagent.extension.instrumentation.TypeInstrumentation;
30+
import io.opentelemetry.javaagent.extension.instrumentation.TypeTransformer;
3131
import io.opentelemetry.javaagent.instrumentation.api.InstrumentationContext;
3232
import java.util.Collections;
3333
import java.util.Map;
3434
import net.bytebuddy.asm.Advice;
35-
import net.bytebuddy.description.method.MethodDescription;
3635
import net.bytebuddy.description.type.TypeDescription;
3736
import net.bytebuddy.implementation.bytecode.assign.Assigner.Typing;
3837
import net.bytebuddy.matcher.ElementMatcher;
@@ -51,8 +50,8 @@ public ElementMatcher<TypeDescription> typeMatcher() {
5150
}
5251

5352
@Override
54-
public Map<? extends ElementMatcher<? super MethodDescription>, String> transformers() {
55-
return singletonMap(
53+
public void transform(TypeTransformer transformer) {
54+
transformer.applyAdviceToMethod(
5655
isMethod()
5756
.and(isPublic())
5857
.and(named("getMDCPropertyMap").or(named("getMdc")))

otelagent/build.gradle.kts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,19 @@ base {
3030
archivesBaseName = "aws-opentelemetry-agent"
3131
}
3232

33+
val shadowClasspath by configurations.creating {
34+
isCanBeConsumed = false
35+
isCanBeResolved = true
36+
attributes {
37+
attribute(Bundling.BUNDLING_ATTRIBUTE, objects.named(Bundling::class.java, Bundling.EXTERNAL))
38+
}
39+
}
40+
3341
dependencies {
34-
implementation("io.opentelemetry.javaagent", "opentelemetry-javaagent", classifier = "all")
42+
// Ensure dependency doesn't leak into POMs by using compileOnly and shadow-specific configuration.
43+
val agentDep = create("io.opentelemetry.javaagent", "opentelemetry-javaagent", classifier = "all")
44+
shadowClasspath(agentDep)
45+
compileOnly(agentDep)
3546
}
3647

3748
val bundledProjects = listOf(
@@ -60,6 +71,8 @@ tasks {
6071
shadowJar {
6172
archiveClassifier.set("")
6273

74+
configurations = listOf(shadowClasspath)
75+
6376
exclude("**/module-info.class")
6477

6578
mergeServiceFiles("inst/META-INF/services")

0 commit comments

Comments
 (0)