Skip to content

Commit f95c793

Browse files
authored
Bump OTEL to 0.14.0 (#237)
Signed-off-by: Pavol Loffay <[email protected]>
1 parent 02a3f74 commit f95c793

File tree

27 files changed

+91
-200
lines changed

27 files changed

+91
-200
lines changed

build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ subprojects {
2828
description = "Hypertrace OpenTelemetry Javaagent"
2929

3030
extra.set("versions", mapOf(
31-
"opentelemetry" to "0.13.1",
32-
"opentelemetry_java_agent" to "0.13.0",
31+
"opentelemetry" to "0.14.1",
32+
"opentelemetry_java_agent" to "0.14.0",
3333
"byte_buddy" to "1.10.18"
3434
))
3535

instrumentation/apache-httpasyncclient-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/apachehttpasyncclient/DelegatingRequestAccessor.java

Lines changed: 0 additions & 31 deletions
This file was deleted.

instrumentation/apache-httpasyncclient-4.1/src/main/java/io/opentelemetry/javaagent/instrumentation/hypertrace/apachehttpasyncclient/ApacheAsyncClientInstrumentationModule.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package io.opentelemetry.javaagent.instrumentation.hypertrace.apachehttpasyncclient;
1818

19-
import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed;
2019
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.implementsInterface;
20+
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.ClassLoaderMatcher.hasClassesNamed;
2121
import static java.util.Collections.singletonMap;
2222
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
2323
import static net.bytebuddy.matcher.ElementMatchers.named;
@@ -28,7 +28,6 @@
2828
import io.opentelemetry.api.trace.Span;
2929
import io.opentelemetry.context.Context;
3030
import io.opentelemetry.javaagent.instrumentation.apachehttpasyncclient.ApacheHttpAsyncClientInstrumentation.DelegatingRequestProducer;
31-
import io.opentelemetry.javaagent.instrumentation.apachehttpasyncclient.DelegatingRequestAccessor;
3231
import io.opentelemetry.javaagent.instrumentation.hypertrace.apachehttpclient.v4_0.ApacheHttpClientUtils;
3332
import io.opentelemetry.javaagent.tooling.InstrumentationModule;
3433
import io.opentelemetry.javaagent.tooling.TypeInstrumentation;
@@ -104,7 +103,7 @@ public static void enter(
104103
if (requestProducer instanceof DelegatingRequestProducer) {
105104
DelegatingRequestProducer delegatingRequestProducer =
106105
(DelegatingRequestProducer) requestProducer;
107-
Context context = DelegatingRequestAccessor.get(delegatingRequestProducer);
106+
Context context = delegatingRequestProducer.getContext();
108107
requestProducer = new DelegatingCaptureBodyRequestProducer(context, requestProducer);
109108
futureCallback = new BodyCaptureDelegatingCallback(context, httpContext, futureCallback);
110109
}

instrumentation/apache-httpasyncclient-4.1/src/test/java/io/opentelemetry/instrumentation/hypertrace/apachehttpasyncclient/ApacheAsyncClientInstrumentationModuleTest.java

Lines changed: 1 addition & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@
4545
import org.hypertrace.agent.testing.AbstractInstrumenterTest;
4646
import org.hypertrace.agent.testing.TestHttpServer;
4747
import org.hypertrace.agent.testing.TestHttpServer.GetJsonHandler;
48-
import org.jetbrains.annotations.NotNull;
4948
import org.junit.jupiter.api.AfterAll;
5049
import org.junit.jupiter.api.Assertions;
5150
import org.junit.jupiter.api.BeforeAll;
@@ -183,35 +182,7 @@ public boolean isRepeatable() {
183182

184183
@Override
185184
public InputStream getContent() {
186-
return new TestInputStream(this.content);
187-
}
188-
}
189-
190-
// TODO remove once https://github.com/hypertrace/javaagent/issues/189 is fixed
191-
static class TestInputStream extends ByteArrayInputStream {
192-
193-
public TestInputStream(byte[] buf) {
194-
super(buf);
195-
}
196-
197-
@Override
198-
public synchronized int read() {
199-
return super.read();
200-
}
201-
202-
@Override
203-
public int read(@NotNull byte[] b) throws IOException {
204-
return super.read(b);
205-
}
206-
207-
@Override
208-
public synchronized int read(byte[] b, int off, int len) {
209-
return super.read(b, off, len);
210-
}
211-
212-
@Override
213-
public synchronized int available() {
214-
return super.available();
185+
return new ByteArrayInputStream(this.content);
215186
}
216187
}
217188

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package io.opentelemetry.javaagent.instrumentation.hypertrace.apachehttpclient.v4_0.readall;
1818

1919
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.safeHasSuperType;
20-
import static io.opentelemetry.javaagent.tooling.matcher.NameMatchers.namedOneOf;
20+
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.NameMatchers.namedOneOf;
2121
import static net.bytebuddy.matcher.ElementMatchers.is;
2222
import static net.bytebuddy.matcher.ElementMatchers.isPublic;
2323
import static net.bytebuddy.matcher.ElementMatchers.takesArgument;

instrumentation/grpc-1.5/src/main/java/io/opentelemetry/javaagent/instrumentation/hypertrace/grpc/v1_5/server/GrpcServerBodyInstrumentation.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package io.opentelemetry.javaagent.instrumentation.hypertrace.grpc.v1_5.server;
1818

19-
import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed;
2019
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.safeHasSuperType;
20+
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.ClassLoaderMatcher.hasClassesNamed;
2121
import static java.util.Collections.singletonMap;
2222
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
2323
import static net.bytebuddy.matcher.ElementMatchers.isPublic;

instrumentation/java-streams/src/test/java/io/opentelemetry/javaagent/instrumentation/hypertrace/java/inputstream/InputStreamInstrumentationModuleTest.java

Lines changed: 3 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public class InputStreamInstrumentationModuleTest extends AbstractInstrumenterTe
3939

4040
@Test
4141
public void read() {
42-
InputStream inputStream = new TestByteArrayInputStream(STR.getBytes());
42+
InputStream inputStream = new ByteArrayInputStream(STR.getBytes());
4343
read(
4444
inputStream,
4545
() -> {
@@ -57,7 +57,7 @@ public void read() {
5757

5858
@Test
5959
public void readBytes() {
60-
InputStream inputStream = new TestByteArrayInputStream(STR.getBytes());
60+
InputStream inputStream = new ByteArrayInputStream(STR.getBytes());
6161
read(
6262
inputStream,
6363
() -> {
@@ -75,7 +75,7 @@ public void readBytes() {
7575

7676
@Test
7777
public void readBytesOffset() {
78-
InputStream inputStream = new TestByteArrayInputStream(STR.getBytes());
78+
InputStream inputStream = new ByteArrayInputStream(STR.getBytes());
7979
read(
8080
inputStream,
8181
() -> {
@@ -109,30 +109,4 @@ private void read(InputStream inputStream, Runnable read, String expected) {
109109
SpanData spanData = trace.get(0);
110110
Assertions.assertEquals(expected, spanData.getAttributes().get(ATTRIBUTE_KEY));
111111
}
112-
113-
/**
114-
* Each method has to be overridden because OTEL agent ignores classes from java.
115-
* https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/8baa897e8bf09359da848aaaa98d2b4eb7fbf4c1/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/matcher/GlobalIgnoresMatcher.java#L105
116-
*/
117-
static class TestByteArrayInputStream extends ByteArrayInputStream {
118-
119-
public TestByteArrayInputStream(byte[] buf) {
120-
super(buf);
121-
}
122-
123-
@Override
124-
public synchronized int read() {
125-
return super.read();
126-
}
127-
128-
@Override
129-
public int read(byte[] b) throws IOException {
130-
return super.read(b);
131-
}
132-
133-
@Override
134-
public synchronized int read(byte[] b, int off, int len) {
135-
return super.read(b, off, len);
136-
}
137-
}
138112
}

instrumentation/java-streams/src/test/java/io/opentelemetry/javaagent/instrumentation/hypertrace/java/outputstream/OutputStreamInstrumentationModuleTest.java

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class OutputStreamInstrumentationModuleTest extends AbstractInstrumenterTest {
3737

3838
@Test
3939
public void write() {
40-
OutputStream outputStream = new TestByteArrayOutputStream();
40+
OutputStream outputStream = new ByteArrayOutputStream();
4141
write(
4242
outputStream,
4343
() -> {
@@ -54,7 +54,7 @@ public void write() {
5454

5555
@Test
5656
public void writeBytes() {
57-
OutputStream outputStream = new TestByteArrayOutputStream();
57+
OutputStream outputStream = new ByteArrayOutputStream();
5858
write(
5959
outputStream,
6060
() -> {
@@ -70,7 +70,7 @@ public void writeBytes() {
7070

7171
@Test
7272
public void writeBytesOffset() {
73-
OutputStream outputStream = new TestByteArrayOutputStream();
73+
OutputStream outputStream = new ByteArrayOutputStream();
7474
write(
7575
outputStream,
7676
() -> {
@@ -92,26 +92,4 @@ private void write(OutputStream outputStream, Runnable read, String expected) {
9292
read.run();
9393
Assertions.assertEquals(expected, buffer.toString());
9494
}
95-
96-
/**
97-
* Each method has to be overridden because OTEL agent ignores classes from java.
98-
* https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/8baa897e8bf09359da848aaaa98d2b4eb7fbf4c1/javaagent-tooling/src/main/java/io/opentelemetry/javaagent/tooling/matcher/GlobalIgnoresMatcher.java#L105
99-
*/
100-
static class TestByteArrayOutputStream extends ByteArrayOutputStream {
101-
102-
@Override
103-
public synchronized void write(int b) {
104-
super.write(b);
105-
}
106-
107-
@Override
108-
public void write(byte[] b) throws IOException {
109-
super.write(b);
110-
}
111-
112-
@Override
113-
public synchronized void write(byte[] b, int off, int len) {
114-
super.write(b, off, len);
115-
}
116-
}
11795
}

instrumentation/jaxrs-client-2.0/src/main/java/io/opentelemetry/javaagent/instrumentation/hypertrace/jaxrs/v2_0/JaxrsClientBodyInstrumentationModule.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@
1616

1717
package io.opentelemetry.javaagent.instrumentation.hypertrace.jaxrs.v2_0;
1818

19-
import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed;
2019
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.extendsClass;
2120
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.hasInterface;
21+
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.ClassLoaderMatcher.hasClassesNamed;
2222
import static java.util.Collections.singletonMap;
2323
import static net.bytebuddy.matcher.ElementMatchers.named;
2424
import static net.bytebuddy.matcher.ElementMatchers.returns;

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

Lines changed: 6 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -17,56 +17,20 @@
1717
package io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_0;
1818

1919
import io.netty.util.AttributeKey;
20-
import io.opentelemetry.javaagent.instrumentation.api.WeakMap;
2120
import java.util.Map;
22-
import java.util.concurrent.ConcurrentHashMap;
23-
import java.util.concurrent.ConcurrentMap;
2421
import org.hypertrace.agent.core.instrumentation.HypertraceSemanticAttributes;
2522
import org.hypertrace.agent.core.instrumentation.buffer.BoundedByteArrayOutputStream;
2623

27-
/**
28-
* Copied from
29-
* https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/deda1af9c0e420b882164e5f8240b51678cd646f/instrumentation/netty/netty-4.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/netty/v4_0/AttributeKeys.java#L14
30-
*/
3124
public class AttributeKeys {
32-
private static final WeakMap<ClassLoader, ConcurrentMap<String, AttributeKey<?>>> map =
33-
WeakMap.Implementation.DEFAULT.get();
34-
private static final WeakMap.ValueSupplier<ClassLoader, ConcurrentMap<String, AttributeKey<?>>>
35-
mapSupplier =
36-
new WeakMap.ValueSupplier<ClassLoader, ConcurrentMap<String, AttributeKey<?>>>() {
37-
@Override
38-
public ConcurrentMap<String, AttributeKey<?>> get(ClassLoader ignore) {
39-
return new ConcurrentHashMap<>();
40-
}
41-
};
42-
4325
public static final AttributeKey<BoundedByteArrayOutputStream> RESPONSE_BODY_BUFFER =
44-
attributeKey(HypertraceSemanticAttributes.HTTP_RESPONSE_BODY.getKey());
26+
io.opentelemetry.javaagent.instrumentation.netty.v4_0.AttributeKeys.attributeKey(
27+
HypertraceSemanticAttributes.HTTP_RESPONSE_BODY.getKey());
4528

4629
public static final AttributeKey<BoundedByteArrayOutputStream> REQUEST_BODY_BUFFER =
47-
attributeKey(HypertraceSemanticAttributes.HTTP_REQUEST_BODY.getKey());
30+
io.opentelemetry.javaagent.instrumentation.netty.v4_0.AttributeKeys.attributeKey(
31+
HypertraceSemanticAttributes.HTTP_REQUEST_BODY.getKey());
4832

4933
public static final AttributeKey<Map<String, String>> REQUEST_HEADERS =
50-
attributeKey(AttributeKeys.class.getName() + ".request-headers");
51-
52-
/**
53-
* Generate an attribute key or reuse the one existing in the global app map. This implementation
54-
* creates attributes only once even if the current class is loaded by several class loaders and
55-
* prevents an issue with Apache Atlas project were this class loaded by multiple class loaders,
56-
* while the Attribute class is loaded by a third class loader and used internally for the
57-
* cassandra driver.
58-
*/
59-
private static <T> AttributeKey<T> attributeKey(String key) {
60-
ConcurrentMap<String, AttributeKey<?>> classLoaderMap =
61-
map.computeIfAbsent(AttributeKey.class.getClassLoader(), mapSupplier);
62-
if (classLoaderMap.containsKey(key)) {
63-
@SuppressWarnings("unchecked")
64-
AttributeKey<T> attrKey = (AttributeKey<T>) classLoaderMap.get(key);
65-
return attrKey;
66-
}
67-
68-
AttributeKey<T> value = new AttributeKey<>(key);
69-
classLoaderMap.put(key, value);
70-
return value;
71-
}
34+
io.opentelemetry.javaagent.instrumentation.netty.v4_0.AttributeKeys.attributeKey(
35+
AttributeKeys.class.getName() + ".request-headers");
7236
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_0;
1818

19-
import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed;
2019
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.implementsInterface;
20+
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.ClassLoaderMatcher.hasClassesNamed;
2121
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
2222
import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith;
2323
import static net.bytebuddy.matcher.ElementMatchers.named;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@
2727
import io.netty.handler.codec.http.LastHttpContent;
2828
import io.netty.util.Attribute;
2929
import io.opentelemetry.api.trace.Span;
30-
import io.opentelemetry.api.trace.attributes.SemanticAttributes;
3130
import io.opentelemetry.context.Context;
3231
import io.opentelemetry.context.Scope;
3332
import io.opentelemetry.instrumentation.api.tracer.HttpStatusConverter;
3433
import io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_0.AttributeKeys;
3534
import io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_0.DataCaptureUtils;
3635
import io.opentelemetry.javaagent.instrumentation.netty.v4_0.client.NettyHttpClientTracer;
36+
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
3737
import java.nio.charset.Charset;
3838
import java.util.Map;
3939
import org.hypertrace.agent.config.Config.AgentConfig;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,13 @@
2929
import io.netty.handler.codec.http.LastHttpContent;
3030
import io.netty.util.Attribute;
3131
import io.opentelemetry.api.trace.Span;
32-
import io.opentelemetry.api.trace.attributes.SemanticAttributes;
3332
import io.opentelemetry.context.Context;
3433
import io.opentelemetry.context.Scope;
3534
import io.opentelemetry.instrumentation.api.tracer.HttpStatusConverter;
3635
import io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_0.AttributeKeys;
3736
import io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_0.DataCaptureUtils;
3837
import io.opentelemetry.javaagent.instrumentation.netty.v4_0.server.NettyHttpServerTracer;
38+
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
3939
import java.nio.charset.Charset;
4040
import java.util.Map;
4141
import org.hypertrace.agent.config.Config.AgentConfig;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
package io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_1;
1818

19-
import static io.opentelemetry.javaagent.tooling.ClassLoaderMatcher.hasClassesNamed;
2019
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.AgentElementMatchers.implementsInterface;
20+
import static io.opentelemetry.javaagent.tooling.bytebuddy.matcher.ClassLoaderMatcher.hasClassesNamed;
2121
import static net.bytebuddy.matcher.ElementMatchers.isMethod;
2222
import static net.bytebuddy.matcher.ElementMatchers.nameStartsWith;
2323
import static net.bytebuddy.matcher.ElementMatchers.named;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@
2727
import io.netty.handler.codec.http.LastHttpContent;
2828
import io.netty.util.Attribute;
2929
import io.opentelemetry.api.trace.Span;
30-
import io.opentelemetry.api.trace.attributes.SemanticAttributes;
3130
import io.opentelemetry.context.Context;
3231
import io.opentelemetry.context.Scope;
3332
import io.opentelemetry.instrumentation.api.tracer.HttpStatusConverter;
3433
import io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_1.AttributeKeys;
3534
import io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_1.DataCaptureUtils;
3635
import io.opentelemetry.javaagent.instrumentation.netty.v4_1.client.NettyHttpClientTracer;
36+
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
3737
import java.nio.charset.Charset;
3838
import java.util.Map;
3939
import org.hypertrace.agent.config.Config.AgentConfig;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@
2727
import io.netty.handler.codec.http.LastHttpContent;
2828
import io.netty.util.Attribute;
2929
import io.opentelemetry.api.trace.Span;
30-
import io.opentelemetry.api.trace.attributes.SemanticAttributes;
3130
import io.opentelemetry.context.Context;
3231
import io.opentelemetry.context.Scope;
3332
import io.opentelemetry.instrumentation.api.tracer.HttpStatusConverter;
3433
import io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_1.AttributeKeys;
3534
import io.opentelemetry.javaagent.instrumentation.hypertrace.netty.v4_1.DataCaptureUtils;
3635
import io.opentelemetry.javaagent.instrumentation.netty.v4_1.server.NettyHttpServerTracer;
36+
import io.opentelemetry.semconv.trace.attributes.SemanticAttributes;
3737
import java.nio.charset.Charset;
3838
import java.util.Map;
3939
import org.hypertrace.agent.config.Config.AgentConfig;

0 commit comments

Comments
 (0)