Skip to content

Commit eb7e05d

Browse files
authored
Review fixes for akka-http-10.0:javaagent (#16496)
Co-authored-by: otelbot <197425009+otelbot@users.noreply.github.com>
1 parent 5c46530 commit eb7e05d

File tree

4 files changed

+18
-7
lines changed

4 files changed

+18
-7
lines changed

instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/client/HttpHeaderSetter.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import io.opentelemetry.context.Context;
1111
import io.opentelemetry.context.propagation.ContextPropagators;
1212
import io.opentelemetry.context.propagation.TextMapSetter;
13+
import javax.annotation.Nullable;
1314

1415
public class HttpHeaderSetter implements TextMapSetter<HttpHeaderSetter.AkkaHttpHeaders> {
1516

@@ -20,7 +21,10 @@ public HttpHeaderSetter(ContextPropagators contextPropagators) {
2021
}
2122

2223
@Override
23-
public void set(AkkaHttpHeaders carrier, String key, String value) {
24+
public void set(@Nullable AkkaHttpHeaders carrier, String key, String value) {
25+
if (carrier == null) {
26+
return;
27+
}
2428
HttpRequest request = carrier.getRequest();
2529
if (request != null) {
2630
// It looks like this cast is only needed in Java, Scala would have figured it out

instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaFlowWrapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public void onPush() {
123123
context = AkkaRouteHolder.init(context);
124124
tracingRequest = new TracingRequest(context, request);
125125
}
126-
// event if span wasn't started we need to push TracingRequest to match response
126+
// even if span wasn't started we need to push TracingRequest to match response
127127
// with request
128128
requests.push(tracingRequest);
129129

instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaHttpServerHeaders.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
package io.opentelemetry.javaagent.instrumentation.akkahttp.server;
77

8+
import static java.util.Collections.emptyIterator;
89
import static java.util.stream.Collectors.toList;
910

1011
import akka.http.javadsl.model.HttpHeader;
@@ -16,9 +17,9 @@
1617
import java.util.Locale;
1718
import java.util.Optional;
1819
import java.util.stream.StreamSupport;
20+
import javax.annotation.Nullable;
1921

20-
enum AkkaHttpServerHeaders implements TextMapGetter<HttpRequest> {
21-
INSTANCE;
22+
final class AkkaHttpServerHeaders implements TextMapGetter<HttpRequest> {
2223

2324
@Override
2425
public Iterable<String> keys(HttpRequest httpRequest) {
@@ -28,13 +29,19 @@ public Iterable<String> keys(HttpRequest httpRequest) {
2829
}
2930

3031
@Override
31-
public String get(HttpRequest carrier, String key) {
32+
public String get(@Nullable HttpRequest carrier, String key) {
33+
if (carrier == null) {
34+
return null;
35+
}
3236
Optional<HttpHeader> header = carrier.getHeader(key);
3337
return header.map(HttpHeader::value).orElse(null);
3438
}
3539

3640
@Override
37-
public Iterator<String> getAll(HttpRequest carrier, String key) {
41+
public Iterator<String> getAll(@Nullable HttpRequest carrier, String key) {
42+
if (carrier == null) {
43+
return emptyIterator();
44+
}
3845
String headerName = key.toLowerCase(Locale.ROOT);
3946
List<String> result = new ArrayList<>();
4047
for (HttpHeader header : carrier.getHeaders()) {

instrumentation/akka/akka-http-10.0/javaagent/src/main/java/io/opentelemetry/javaagent/instrumentation/akkahttp/server/AkkaHttpServerSingletons.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public final class AkkaHttpServerSingletons {
2020
JavaagentHttpServerInstrumenters.create(
2121
AkkaHttpUtil.instrumentationName(),
2222
new AkkaHttpServerAttributesGetter(),
23-
AkkaHttpServerHeaders.INSTANCE);
23+
new AkkaHttpServerHeaders());
2424
}
2525

2626
public static Instrumenter<HttpRequest, HttpResponse> instrumenter() {

0 commit comments

Comments
 (0)