Skip to content

Commit 344d373

Browse files
Upgrades OTel to 1.24.0; fixes gh-161
1 parent 317ca28 commit 344d373

File tree

10 files changed

+79
-51
lines changed

10 files changed

+79
-51
lines changed

pom.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,10 +71,10 @@
7171
<spring-cloud-task.version>2.4.5</spring-cloud-task.version>
7272
<spring-cloud-deployer.version>2.7.6</spring-cloud-deployer.version>
7373
<opentracing.version>0.32.0</opentracing.version>
74-
<opentelemetry.version>1.22.0</opentelemetry.version>
75-
<opentelemetry-alpha.version>1.22.0-alpha</opentelemetry-alpha.version>
76-
<opentelemetry-instrumentation.version>1.22.0</opentelemetry-instrumentation.version>
77-
<opentelemetry-instrumentation-alpha.version>1.22.0-alpha</opentelemetry-instrumentation-alpha.version>
74+
<opentelemetry.version>1.24.0</opentelemetry.version>
75+
<opentelemetry-alpha.version>1.24.0-alpha</opentelemetry-alpha.version>
76+
<opentelemetry-instrumentation.version>1.24.0</opentelemetry-instrumentation.version>
77+
<opentelemetry-instrumentation-alpha.version>1.24.0-alpha</opentelemetry-instrumentation-alpha.version>
7878
<opentelemetry-proto.version>0.11.0-alpha</opentelemetry-proto.version>
7979
<wavefront.version>2.2.0</wavefront.version>
8080
<spring-security-boot-autoconfigure.version>2.3.4.RELEASE</spring-security-boot-autoconfigure.version>

spring-cloud-sleuth-otel-dependencies/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<name>spring-cloud-sleuth-otel-dependencies</name>
3232
<description>Spring Cloud Sleuth OTel Dependencies</description>
3333
<properties>
34-
<opentelemetry.version>1.22.0</opentelemetry.version>
34+
<opentelemetry.version>1.24.0</opentelemetry.version>
3535
</properties>
3636
<dependencyManagement>
3737
<dependencies>
Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,41 +18,34 @@
1818

1919
import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesGetter;
2020

21-
import org.springframework.cloud.sleuth.http.HttpRequest;
22-
import org.springframework.cloud.sleuth.http.HttpResponse;
21+
import org.springframework.cloud.sleuth.http.HttpClientRequest;
22+
import org.springframework.cloud.sleuth.http.HttpClientResponse;
2323
import org.springframework.lang.Nullable;
2424

2525
/**
2626
* Extracts OpenTelemetry network semantic attributes value for client http spans.
2727
*
2828
* @author Nikita Salnikov-Tarnovski
2929
*/
30-
class HttpRequestNetClientAttributesGetter implements NetClientAttributesGetter<HttpRequest, HttpResponse> {
30+
class HttpRequestNetClientAttributesExtractor
31+
implements NetClientAttributesGetter<HttpClientRequest, HttpClientResponse> {
3132

3233
@Nullable
3334
@Override
34-
public String transport(HttpRequest httpRequest, @Nullable HttpResponse httpResponse) {
35+
public String getTransport(HttpClientRequest httpClientRequest, @Nullable HttpClientResponse httpClientResponse) {
3536
return null;
3637
}
3738

39+
@Nullable
3840
@Override
39-
public String peerName(HttpRequest httpRequest) {
41+
public String getPeerName(HttpClientRequest httpClientRequest) {
4042
return null;
4143
}
4244

45+
@Nullable
4346
@Override
44-
public Integer peerPort(HttpRequest httpRequest) {
45-
return httpRequest == null ? null : httpRequest.remotePort();
46-
}
47-
48-
@Override
49-
public String sockPeerAddr(HttpRequest httpRequest, HttpResponse httpResponse) {
50-
return httpRequest == null ? null : httpRequest.remoteIp();
51-
}
52-
53-
@Override
54-
public Integer sockPeerPort(HttpRequest httpRequest, HttpResponse httpResponse) {
55-
return httpRequest == null ? null : httpRequest.remotePort();
47+
public Integer getPeerPort(HttpClientRequest httpClientRequest) {
48+
return httpClientRequest == null ? null : httpClientRequest.remotePort();
5649
}
5750

5851
}
Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,18 @@
2121
import io.opentelemetry.instrumentation.api.instrumenter.net.NetServerAttributesGetter;
2222

2323
import org.springframework.cloud.sleuth.http.HttpServerRequest;
24+
import org.springframework.lang.Nullable;
2425

2526
/**
2627
* Extracts OpenTelemetry network semantic attributes value for server http spans.
2728
*
2829
* @author Nikita Salnikov-Tarnovski
2930
*/
30-
class HttpRequestNetServerAttributesGetter implements NetServerAttributesGetter<HttpServerRequest> {
31+
class HttpRequestNetServerAttributesExtractor implements NetServerAttributesGetter<HttpServerRequest> {
3132

33+
@Nullable
3234
@Override
33-
public String transport(HttpServerRequest httpRequest) {
35+
public String getTransport(HttpServerRequest httpRequest) {
3436
String url = httpRequest.url();
3537
if (url == null) {
3638
return null;
@@ -39,8 +41,9 @@ public String transport(HttpServerRequest httpRequest) {
3941
return uri.getScheme();
4042
}
4143

44+
@Nullable
4245
@Override
43-
public String hostName(HttpServerRequest httpRequest) {
46+
public String getHostName(HttpServerRequest httpRequest) {
4447
String url = httpRequest.url();
4548
if (url == null) {
4649
return null;
@@ -50,17 +53,19 @@ public String hostName(HttpServerRequest httpRequest) {
5053
}
5154

5255
@Override
53-
public Integer hostPort(HttpServerRequest httpRequest) {
56+
public Integer getHostPort(HttpServerRequest httpRequest) {
5457
return httpRequest.remotePort();
5558
}
5659

60+
@Nullable
5761
@Override
58-
public String sockPeerAddr(HttpServerRequest httpRequest) {
62+
public String getSockPeerAddr(HttpServerRequest httpRequest) {
5963
return httpRequest.remoteIp();
6064
}
6165

66+
@Nullable
6267
@Override
63-
public Integer sockPeerPort(HttpServerRequest httpRequest) {
68+
public Integer getSockPeerPort(HttpServerRequest httpRequest) {
6469
return httpRequest.remotePort();
6570
}
6671

spring-cloud-sleuth-otel/src/main/java/org/springframework/cloud/sleuth/otel/bridge/OtelHttpClientHandler.java

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanNameExtractor;
2626
import io.opentelemetry.instrumentation.api.instrumenter.http.HttpSpanStatusExtractor;
2727
import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesExtractor;
28+
import io.opentelemetry.instrumentation.api.instrumenter.net.NetClientAttributesGetter;
2829
import org.apache.commons.logging.Log;
2930
import org.apache.commons.logging.LogFactory;
3031

@@ -62,18 +63,47 @@ public class OtelHttpClientHandler implements HttpClientHandler {
6263

6364
private final Instrumenter<HttpClientRequest, HttpClientResponse> instrumenter;
6465

66+
/**
67+
* Creates a new instance of {@link OtelHttpClientHandler}.
68+
* @param openTelemetry open telemetry
69+
* @param httpClientRequestParser http client request parser
70+
* @param httpClientResponseParser http client response parser
71+
* @param samplerFunction sampler function
72+
* @param httpAttributesExtractor http attributes extractor
73+
* @deprecated use
74+
* {@link OtelHttpClientHandler#OtelHttpClientHandler(OpenTelemetry, HttpRequestParser, HttpResponseParser, SamplerFunction, HttpClientAttributesGetter, NetClientAttributesGetter)}
75+
*/
76+
@Deprecated
6577
public OtelHttpClientHandler(OpenTelemetry openTelemetry, @Nullable HttpRequestParser httpClientRequestParser,
6678
@Nullable HttpResponseParser httpClientResponseParser, SamplerFunction<HttpRequest> samplerFunction,
67-
HttpClientAttributesGetter<HttpClientRequest, HttpClientResponse> httpAttributesGetter) {
79+
HttpClientAttributesGetter<HttpClientRequest, HttpClientResponse> httpAttributesExtractor) {
80+
this(openTelemetry, httpClientRequestParser, httpClientResponseParser, samplerFunction, httpAttributesExtractor,
81+
new HttpRequestNetClientAttributesExtractor());
82+
}
83+
84+
/**
85+
* Creates a new instance of {@link OtelHttpClientHandler}.
86+
* @param openTelemetry open telemetry
87+
* @param httpClientRequestParser http client request parser
88+
* @param httpClientResponseParser http client response parser
89+
* @param samplerFunction sampler function
90+
* @param httpAttributesExtractor http attributes extractor
91+
*/
92+
public OtelHttpClientHandler(OpenTelemetry openTelemetry, @Nullable HttpRequestParser httpClientRequestParser,
93+
@Nullable HttpResponseParser httpClientResponseParser, SamplerFunction<HttpRequest> samplerFunction,
94+
HttpClientAttributesGetter<HttpClientRequest, HttpClientResponse> httpAttributesExtractor,
95+
NetClientAttributesGetter<HttpClientRequest, HttpClientResponse> netAttributesGetter) {
6896
this.httpClientRequestParser = httpClientRequestParser;
6997
this.httpClientResponseParser = httpClientResponseParser;
7098
this.samplerFunction = samplerFunction;
7199
this.instrumenter = Instrumenter
72-
.<HttpClientRequest, HttpClientResponse>builder(openTelemetry, "org.springframework.cloud.sleuth",
73-
HttpSpanNameExtractor.create(httpAttributesGetter))
74-
.setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesGetter))
75-
.addAttributesExtractor(NetClientAttributesExtractor.create(new HttpRequestNetClientAttributesGetter()))
76-
.addAttributesExtractor(HttpClientAttributesExtractor.create(httpAttributesGetter))
100+
.<HttpClientRequest, HttpClientResponse>builder(openTelemetry, "io.micrometer.tracing",
101+
HttpSpanNameExtractor.create(httpAttributesExtractor))
102+
.setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesExtractor))
103+
.addAttributesExtractor(
104+
NetClientAttributesExtractor.create(new HttpRequestNetClientAttributesExtractor()))
105+
.addAttributesExtractor(
106+
HttpClientAttributesExtractor.create(httpAttributesExtractor, netAttributesGetter))
77107
.addAttributesExtractor(new PathAttributeExtractor())
78108
.buildClientInstrumenter(HttpClientRequest::header);
79109
}

spring-cloud-sleuth-otel/src/main/java/org/springframework/cloud/sleuth/otel/bridge/OtelHttpServerHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ public OtelHttpServerHandler(OpenTelemetry openTelemetry, HttpRequestParser http
7373
HttpSpanNameExtractor.create(httpAttributesGetter))
7474
.setSpanStatusExtractor(HttpSpanStatusExtractor.create(httpAttributesGetter))
7575
.addAttributesExtractor(HttpServerAttributesExtractor.create(httpAttributesGetter,
76-
new HttpRequestNetServerAttributesGetter()))
76+
new HttpRequestNetServerAttributesExtractor()))
7777
.addAttributesExtractor(new PathAttributeExtractor()).buildServerInstrumenter(getGetter());
7878
}
7979

spring-cloud-sleuth-otel/src/main/java/org/springframework/cloud/sleuth/otel/bridge/SpringHttpClientAttributesGetter.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,23 +35,23 @@ public class SpringHttpClientAttributesGetter
3535

3636
@Nullable
3737
@Override
38-
public String url(HttpClientRequest httpClientRequest) {
38+
public String getUrl(HttpClientRequest httpClientRequest) {
3939
return httpClientRequest.url();
4040
}
4141

4242
@Nullable
4343
@Override
44-
public String flavor(HttpClientRequest httpClientRequest, @Nullable HttpClientResponse httpClientResponse) {
44+
public String getFlavor(HttpClientRequest httpClientRequest, @Nullable HttpClientResponse httpClientResponse) {
4545
return null;
4646
}
4747

4848
@Override
49-
public String method(HttpClientRequest httpClientRequest) {
49+
public String getMethod(HttpClientRequest httpClientRequest) {
5050
return httpClientRequest.method();
5151
}
5252

5353
@Override
54-
public List<String> requestHeader(HttpClientRequest httpClientRequest, String name) {
54+
public List<String> getRequestHeader(HttpClientRequest httpClientRequest, String name) {
5555
if (httpClientRequest == null) {
5656
return Collections.emptyList();
5757
}
@@ -60,7 +60,7 @@ public List<String> requestHeader(HttpClientRequest httpClientRequest, String na
6060
}
6161

6262
@Override
63-
public Integer statusCode(HttpClientRequest httpClientRequest, HttpClientResponse httpClientResponse,
63+
public Integer getStatusCode(HttpClientRequest httpClientRequest, HttpClientResponse httpClientResponse,
6464
Throwable error) {
6565
if (httpClientResponse == null) {
6666
return null;
@@ -69,7 +69,7 @@ public Integer statusCode(HttpClientRequest httpClientRequest, HttpClientRespons
6969
}
7070

7171
@Override
72-
public List<String> responseHeader(HttpClientRequest httpClientRequest, HttpClientResponse httpClientResponse,
72+
public List<String> getResponseHeader(HttpClientRequest httpClientRequest, HttpClientResponse httpClientResponse,
7373
String name) {
7474
if (httpClientResponse == null) {
7575
return Collections.emptyList();

spring-cloud-sleuth-otel/src/main/java/org/springframework/cloud/sleuth/otel/bridge/SpringHttpServerAttributesGetter.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ public class SpringHttpServerAttributesGetter
3636

3737
@Nullable
3838
@Override
39-
public String flavor(HttpServerRequest httpServerRequest) {
39+
public String getFlavor(HttpServerRequest httpServerRequest) {
4040
return null;
4141
}
4242

4343
@Nullable
4444
@Override
45-
public String target(HttpServerRequest httpServerRequest) {
45+
public String getTarget(HttpServerRequest httpServerRequest) {
4646
URI uri = toUri(httpServerRequest);
4747
if (uri == null) {
4848
return null;
@@ -62,13 +62,13 @@ private String queryPart(URI uri) {
6262

6363
@Nullable
6464
@Override
65-
public String route(HttpServerRequest httpServerRequest) {
65+
public String getRoute(HttpServerRequest httpServerRequest) {
6666
return httpServerRequest.route();
6767
}
6868

6969
@Nullable
7070
@Override
71-
public String scheme(HttpServerRequest httpServerRequest) {
71+
public String getScheme(HttpServerRequest httpServerRequest) {
7272
String url = httpServerRequest.url();
7373
if (url == null) {
7474
return null;
@@ -84,24 +84,24 @@ public String scheme(HttpServerRequest httpServerRequest) {
8484

8585
@Nullable
8686
@Override
87-
public String method(HttpServerRequest httpServerRequest) {
87+
public String getMethod(HttpServerRequest httpServerRequest) {
8888
return httpServerRequest.method();
8989
}
9090

9191
@Override
92-
public List<String> requestHeader(HttpServerRequest httpServerRequest, String name) {
92+
public List<String> getRequestHeader(HttpServerRequest httpServerRequest, String name) {
9393
String value = httpServerRequest.header(name);
9494
return value == null ? Collections.emptyList() : Collections.singletonList(value);
9595
}
9696

9797
@Override
98-
public Integer statusCode(HttpServerRequest httpServerRequest, HttpServerResponse httpServerResponse,
98+
public Integer getStatusCode(HttpServerRequest httpServerRequest, HttpServerResponse httpServerResponse,
9999
Throwable error) {
100100
return httpServerResponse.statusCode();
101101
}
102102

103103
@Override
104-
public List<String> responseHeader(HttpServerRequest httpServerRequest, HttpServerResponse httpServerResponse,
104+
public List<String> getResponseHeader(HttpServerRequest httpServerRequest, HttpServerResponse httpServerResponse,
105105
String name) {
106106
String value = httpServerResponse.header(name);
107107
return value == null ? Collections.emptyList() : Collections.singletonList(value);

tests/otel/spring-cloud-sleuth-instrumentation-baggage-tests/src/test/java/org/springframework/cloud/sleuth/otel/bridge/MultipleHopsIntegrationTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public class MultipleHopsIntegrationTests
6464
// TODO: Why do we have empty names here
6565
@Override
6666
protected void assertSpanNames() {
67-
then(this.spans).extracting(FinishedSpan::getName).containsAll(asList("HTTP GET", "handle", "send"));
67+
then(this.spans).extracting(FinishedSpan::getName).containsAll(asList("GET", "handle", "send"));
6868
}
6969

7070
@BeforeEach

tests/otel/spring-cloud-sleuth-instrumentation-webflux-tests/src/test/java/org/springframework/cloud/sleuth/otel/instrument/web/client/WebClientTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ protected String pathKey() {
3939

4040
@Override
4141
protected String templatedName() {
42-
return "HTTP GET";
42+
return "GET";
4343
}
4444

4545
@Configuration(proxyBeanMethods = false)

0 commit comments

Comments
 (0)