Skip to content

Commit 7cb15a9

Browse files
authored
Upgrade otel 1 9 (#356)
* ⬆️ upgrade to otel 1.9 * ♻️ fix cache usage ' * ♻️ update netty modules for moved APIs * ⬆️ upgrade byte buddy * 🔥 remove usage of struts2 convention plugin
1 parent 9d80781 commit 7cb15a9

File tree

17 files changed

+44
-40
lines changed

17 files changed

+44
-40
lines changed

build.gradle.kts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,12 @@ subprojects {
3434
extra.set("versions", mapOf(
3535
// when updating these values, some values must also be updated in buildSrc as this map
3636
// cannot be accessed there
37-
"opentelemetry" to "1.7.1",
38-
"opentelemetry_java_agent" to "1.7.2-alpha",
39-
"opentelemetry_java_agent_all" to "1.7.2",
40-
"opentelemetry_gradle_plugin" to "0.8.0",
41-
"byte_buddy" to "1.11.2",
37+
"opentelemetry" to "1.9.1",
38+
"opentelemetry_proto" to "0.11.0-alpha",
39+
"opentelemetry_java_agent" to "1.9.2-alpha",
40+
"opentelemetry_java_agent_all" to "1.9.2",
41+
"opentelemetry_gradle_plugin" to "1.9.2-alpha",
42+
"byte_buddy" to "1.11.22",
4243
"slf4j" to "1.7.30"
4344
))
4445

buildSrc/build.gradle.kts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,23 @@ repositories {
2727
dependencies {
2828
implementation(gradleApi())
2929
implementation(localGroovy())
30-
implementation("io.opentelemetry.javaagent:opentelemetry-muzzle:1.7.2-alpha")
31-
implementation("io.opentelemetry.instrumentation.muzzle-generation:io.opentelemetry.instrumentation.muzzle-generation.gradle.plugin:0.8.0")
32-
implementation("io.opentelemetry.instrumentation.muzzle-check:io.opentelemetry.instrumentation.muzzle-check.gradle.plugin:0.8.0")
30+
val otelInstrumentationVersion = "1.9.2-alpha"
31+
implementation("io.opentelemetry.javaagent:opentelemetry-muzzle:$otelInstrumentationVersion")
32+
implementation("io.opentelemetry.instrumentation.muzzle-generation:io.opentelemetry.instrumentation.muzzle-generation.gradle.plugin:$otelInstrumentationVersion")
33+
implementation("io.opentelemetry.instrumentation.muzzle-check:io.opentelemetry.instrumentation.muzzle-check.gradle.plugin:$otelInstrumentationVersion")
3334
implementation("com.github.jengelman.gradle.plugins:shadow:6.0.0")
3435
implementation("org.eclipse.aether", "aether-connector-basic", "1.1.0")
3536
implementation("org.eclipse.aether", "aether-transport-http", "1.1.0")
3637
implementation("org.apache.maven", "maven-aether-provider", "3.3.9")
3738

3839
implementation("com.google.guava", "guava", "20.0")
39-
implementation("org.ow2.asm", "asm", "7.0-beta")
40-
implementation("org.ow2.asm", "asm-tree", "7.0-beta")
40+
implementation("org.ow2.asm", "asm", "9.1")
41+
implementation("org.ow2.asm", "asm-tree", "9.1")
4142
implementation("org.apache.httpcomponents:httpclient:4.5.10")
42-
implementation("net.bytebuddy:byte-buddy-gradle-plugin:1.11.2")
43+
implementation("net.bytebuddy:byte-buddy-gradle-plugin:1.11.22") {
44+
exclude(group = "net.bytebuddy", module = "byte-buddy")
45+
}
46+
implementation("net.bytebuddy:byte-buddy-dep:1.11.22")
4347

4448
testImplementation("org.spockframework", "spock-core", "1.3-groovy-2.5")
4549
testImplementation("org.codehaus.groovy", "groovy-all", "2.5.8")

buildSrc/src/main/java/io/opentelemetry/instrumentation/gradle/AutoInstrumentationPlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ private void addDependencies(Project project) {
5757
dependencies.add("implementation", "org.slf4j:slf4j-api:1.7.30");
5858
dependencies.add("compileOnly", "com.google.auto.service:auto-service-annotations:1.0");
5959
dependencies.add("annotationProcessor", "com.google.auto.service:auto-service:1.0");
60-
dependencies.add("implementation", "net.bytebuddy:byte-buddy:" + versions.get("byte_buddy"));
60+
dependencies.add("implementation", "net.bytebuddy:byte-buddy-dep:" + versions.get("byte_buddy"));
6161
dependencies.add("implementation",
6262
"io.opentelemetry:opentelemetry-api:" + versions.get("opentelemetry"));
6363
dependencies.add("implementation",

instrumentation/apache-httpclient-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hypertrace/apachehttpclient/v4_0/ApacheHttpClientObjectRegistry.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,12 @@
1818

1919
import io.opentelemetry.api.common.AttributeKey;
2020
import io.opentelemetry.api.trace.Span;
21-
import io.opentelemetry.instrumentation.api.caching.Cache;
21+
import io.opentelemetry.instrumentation.api.cache.Cache;
2222
import org.apache.http.HttpEntity;
2323

2424
public class ApacheHttpClientObjectRegistry {
2525

26-
public static final Cache<HttpEntity, SpanAndAttributeKey> entityToSpan =
27-
Cache.builder().setWeakKeys().build();
26+
public static final Cache<HttpEntity, SpanAndAttributeKey> entityToSpan = Cache.weak();
2827

2928
public static class SpanAndAttributeKey {
3029
public final Span span;

instrumentation/netty/netty-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hypertrace/netty/v4_0/client/HttpClientResponseTracingHandler.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import io.opentelemetry.instrumentation.api.tracer.HttpStatusConverter;
3232
import io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_0.AttributeKeys;
3333
import io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_0.DataCaptureUtils;
34-
import io.opentelemetry.javaagent.instrumentation.netty.v4_0.client.NettyHttpClientTracer;
34+
import io.opentelemetry.javaagent.instrumentation.netty.v4_0.client.NettyClientSingletons;
3535
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
3636
import java.nio.charset.Charset;
3737
import java.util.Map;
@@ -95,13 +95,14 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) {
9595
try (Scope ignored = context.makeCurrent()) {
9696
ctx.fireChannelRead(msg);
9797
} catch (Throwable throwable) {
98-
NettyHttpClientTracer.tracer().endExceptionally(context, throwable);
98+
NettyClientSingletons.instrumenter().end(context, null, null, throwable);
9999
throw throwable;
100100
}
101101
if (msg instanceof HttpResponse) {
102102
HttpResponse httpResponse = (HttpResponse) msg;
103103
span.setAttribute(SemanticAttributes.HTTP_STATUS_CODE, httpResponse.getStatus().code());
104-
span.setStatus(HttpStatusConverter.statusFromHttpStatus(httpResponse.getStatus().code()));
104+
span.setStatus(
105+
HttpStatusConverter.CLIENT.statusFromHttpStatus(httpResponse.getStatus().code()));
105106
}
106107
if (msg instanceof LastHttpContent) {
107108
span.end();

instrumentation/netty/netty-4.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hypertrace/netty/v4_0/server/HttpServerResponseTracingHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise prm) {
100100
if (msg instanceof HttpResponse) {
101101
HttpResponse httpResponse = (HttpResponse) msg;
102102
span.setAttribute(SemanticAttributes.HTTP_STATUS_CODE, httpResponse.getStatus().code());
103-
span.setStatus(HttpStatusConverter.statusFromHttpStatus(httpResponse.getStatus().code()));
103+
span.setStatus(
104+
HttpStatusConverter.SERVER.statusFromHttpStatus(httpResponse.getStatus().code()));
104105
}
105106
if (msg instanceof LastHttpContent) {
106107
span.end();

instrumentation/netty/netty-4.1/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ afterEvaluate{
4242
val versions: Map<String, String> by extra
4343

4444
dependencies {
45-
implementation("io.opentelemetry.instrumentation:opentelemetry-netty-4.1:${versions["opentelemetry_java_agent"]}")
4645
implementation("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-netty-4-common:${versions["opentelemetry_java_agent"]}")
46+
implementation("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-netty-4.1-common:${versions["opentelemetry_java_agent"]}")
4747
implementation("io.opentelemetry.javaagent.instrumentation:opentelemetry-javaagent-netty-4.1:${versions["opentelemetry_java_agent"]}")
4848
library("io.netty:netty-codec-http:4.1.0.Final")
4949

instrumentation/netty/netty-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/hypertrace/netty/v4_1/client/HttpClientRequestTracingHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,8 @@ public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise prm) {
5151
Channel channel = ctx.channel();
5252
Context context =
5353
channel
54-
.attr(io.opentelemetry.instrumentation.netty.v4_1.AttributeKeys.CLIENT_CONTEXT)
54+
.attr(
55+
io.opentelemetry.javaagent.instrumentation.netty.v4_1.AttributeKeys.CLIENT_CONTEXT)
5556
.get();
5657
if (context == null) {
5758
ctx.write(msg, prm);

instrumentation/netty/netty-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/hypertrace/netty/v4_1/client/HttpClientResponseTracingHandler.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
import io.opentelemetry.instrumentation.api.tracer.HttpStatusConverter;
3232
import io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_1.AttributeKeys;
3333
import io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_1.DataCaptureUtils;
34-
import io.opentelemetry.javaagent.instrumentation.netty.v4_1.client.NettyHttpClientTracer;
34+
import io.opentelemetry.javaagent.instrumentation.netty.v4_1.client.NettyClientSingletons;
3535
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
3636
import java.nio.charset.Charset;
3737
import java.util.Map;
@@ -53,7 +53,8 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) {
5353
Channel channel = ctx.channel();
5454
Context context =
5555
channel
56-
.attr(io.opentelemetry.instrumentation.netty.v4_1.AttributeKeys.CLIENT_CONTEXT)
56+
.attr(
57+
io.opentelemetry.javaagent.instrumentation.netty.v4_1.AttributeKeys.CLIENT_CONTEXT)
5758
.get();
5859
if (context == null) {
5960
ctx.fireChannelRead(msg);
@@ -94,13 +95,14 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) {
9495
try (Scope ignored = context.makeCurrent()) {
9596
ctx.fireChannelRead(msg);
9697
} catch (Throwable throwable) {
97-
NettyHttpClientTracer.tracer().endExceptionally(context, throwable);
98+
NettyClientSingletons.instrumenter().end(context, null, null, throwable);
9899
throw throwable;
99100
}
100101
if (msg instanceof HttpResponse) {
101102
HttpResponse httpResponse = (HttpResponse) msg;
102103
span.setAttribute(SemanticAttributes.HTTP_STATUS_CODE, httpResponse.getStatus().code());
103-
span.setStatus(HttpStatusConverter.statusFromHttpStatus(httpResponse.getStatus().code()));
104+
span.setStatus(
105+
HttpStatusConverter.CLIENT.statusFromHttpStatus(httpResponse.getStatus().code()));
104106
}
105107
if (msg instanceof LastHttpContent) {
106108
span.end();

instrumentation/netty/netty-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/hypertrace/netty/v4_1/server/HttpServerBlockingRequestHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) {
3838
Channel channel = ctx.channel();
3939
Context context =
4040
channel
41-
.attr(io.opentelemetry.instrumentation.netty.v4_1.AttributeKeys.SERVER_CONTEXT)
41+
.attr(
42+
io.opentelemetry.javaagent.instrumentation.netty.v4_1.AttributeKeys.SERVER_CONTEXT)
4243
.get();
4344
if (context == null) {
4445
ctx.fireChannelRead(msg);

0 commit comments

Comments
 (0)