Skip to content

Commit cbca457

Browse files
committed
Adapt to HTTP Observation changes in Framework
This commit adapts to the renames/package changes in the HTTP Observation support in Spring Framework. See spring-projects/spring-framework#29334
1 parent ed1695f commit cbca457

File tree

13 files changed

+47
-48
lines changed

13 files changed

+47
-48
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/client/ClientHttpObservationConventionAdapter.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,17 @@
2121
import io.micrometer.observation.Observation;
2222

2323
import org.springframework.boot.actuate.metrics.web.client.RestTemplateExchangeTagsProvider;
24-
import org.springframework.http.client.observation.ClientHttpObservationContext;
25-
import org.springframework.http.client.observation.ClientHttpObservationConvention;
24+
import org.springframework.http.client.observation.ClientRequestObservationContext;
25+
import org.springframework.http.client.observation.ClientRequestObservationConvention;
2626

2727
/**
2828
* Adapter class that applies {@link RestTemplateExchangeTagsProvider} tags as a
29-
* {@link ClientHttpObservationConvention}.
29+
* {@link ClientRequestObservationConvention}.
3030
*
3131
* @author Brian Clozel
3232
*/
3333
@SuppressWarnings({ "removal" })
34-
class ClientHttpObservationConventionAdapter implements ClientHttpObservationConvention {
34+
class ClientHttpObservationConventionAdapter implements ClientRequestObservationConvention {
3535

3636
private final String metricName;
3737

@@ -44,12 +44,12 @@ class ClientHttpObservationConventionAdapter implements ClientHttpObservationCon
4444

4545
@Override
4646
public boolean supportsContext(Observation.Context context) {
47-
return context instanceof ClientHttpObservationContext;
47+
return context instanceof ClientRequestObservationContext;
4848
}
4949

5050
@Override
5151
@SuppressWarnings("deprecation")
52-
public KeyValues getLowCardinalityKeyValues(ClientHttpObservationContext context) {
52+
public KeyValues getLowCardinalityKeyValues(ClientRequestObservationContext context) {
5353
KeyValues keyValues = KeyValues.empty();
5454
Iterable<Tag> tags = this.tagsProvider.getTags(context.getUriTemplate(), context.getCarrier(),
5555
context.getResponse());
@@ -60,7 +60,7 @@ public KeyValues getLowCardinalityKeyValues(ClientHttpObservationContext context
6060
}
6161

6262
@Override
63-
public KeyValues getHighCardinalityKeyValues(ClientHttpObservationContext context) {
63+
public KeyValues getHighCardinalityKeyValues(ClientRequestObservationContext context) {
6464
return KeyValues.empty();
6565
}
6666

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/client/ClientObservationConventionAdapter.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,19 @@
2121
import io.micrometer.observation.Observation;
2222

2323
import org.springframework.boot.actuate.metrics.web.reactive.client.WebClientExchangeTagsProvider;
24-
import org.springframework.web.reactive.function.client.ClientObservationContext;
25-
import org.springframework.web.reactive.function.client.ClientObservationConvention;
2624
import org.springframework.web.reactive.function.client.ClientRequest;
25+
import org.springframework.web.reactive.function.client.ClientRequestObservationContext;
26+
import org.springframework.web.reactive.function.client.ClientRequestObservationConvention;
2727
import org.springframework.web.reactive.function.client.WebClient;
2828

2929
/**
3030
* Adapter class that applies {@link WebClientExchangeTagsProvider} tags as a
31-
* {@link ClientObservationConvention}.
31+
* {@link ClientRequestObservationConvention}.
3232
*
3333
* @author Brian Clozel
3434
*/
3535
@SuppressWarnings({ "deprecation", "removal" })
36-
class ClientObservationConventionAdapter implements ClientObservationConvention {
36+
class ClientObservationConventionAdapter implements ClientRequestObservationConvention {
3737

3838
private static final String URI_TEMPLATE_ATTRIBUTE = WebClient.class.getName() + ".uriTemplate";
3939

@@ -48,11 +48,11 @@ class ClientObservationConventionAdapter implements ClientObservationConvention
4848

4949
@Override
5050
public boolean supportsContext(Observation.Context context) {
51-
return context instanceof ClientObservationContext;
51+
return context instanceof ClientRequestObservationContext;
5252
}
5353

5454
@Override
55-
public KeyValues getLowCardinalityKeyValues(ClientObservationContext context) {
55+
public KeyValues getLowCardinalityKeyValues(ClientRequestObservationContext context) {
5656
KeyValues keyValues = KeyValues.empty();
5757
mutateClientRequest(context);
5858
Iterable<Tag> tags = this.tagsProvider.tags(context.getCarrier(), context.getResponse(), context.getError());
@@ -66,14 +66,14 @@ public KeyValues getLowCardinalityKeyValues(ClientObservationContext context) {
6666
* {@link WebClientExchangeTagsProvider} relies on a request attribute to get the URI
6767
* template, we need to adapt to that.
6868
*/
69-
private static void mutateClientRequest(ClientObservationContext context) {
69+
private static void mutateClientRequest(ClientRequestObservationContext context) {
7070
ClientRequest clientRequest = ClientRequest.from(context.getCarrier())
7171
.attribute(URI_TEMPLATE_ATTRIBUTE, context.getUriTemplate()).build();
7272
context.setCarrier(clientRequest);
7373
}
7474

7575
@Override
76-
public KeyValues getHighCardinalityKeyValues(ClientObservationContext context) {
76+
public KeyValues getHighCardinalityKeyValues(ClientRequestObservationContext context) {
7777
return KeyValues.empty();
7878
}
7979

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/client/RestTemplateObservationConfiguration.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@
2828
import org.springframework.boot.web.client.RestTemplateBuilder;
2929
import org.springframework.context.annotation.Bean;
3030
import org.springframework.context.annotation.Configuration;
31-
import org.springframework.http.client.observation.ClientHttpObservationConvention;
32-
import org.springframework.http.client.observation.DefaultClientHttpObservationConvention;
31+
import org.springframework.http.client.observation.ClientRequestObservationConvention;
32+
import org.springframework.http.client.observation.DefaultClientRequestObservationConvention;
3333
import org.springframework.web.client.RestTemplate;
3434

3535
/**
@@ -51,9 +51,9 @@ ObservationRestTemplateCustomizer observationRestTemplateCustomizer(ObservationR
5151
String observationName = observationProperties.getHttp().getClient().getRequests().getName();
5252
String name = (observationName != null) ? observationName : metricName;
5353
RestTemplateExchangeTagsProvider tagsProvider = optionalTagsProvider.getIfAvailable();
54-
ClientHttpObservationConvention observationConvention = (tagsProvider != null)
54+
ClientRequestObservationConvention observationConvention = (tagsProvider != null)
5555
? new ClientHttpObservationConventionAdapter(name, tagsProvider)
56-
: new DefaultClientHttpObservationConvention(name);
56+
: new DefaultClientRequestObservationConvention(name);
5757
return new ObservationRestTemplateCustomizer(observationRegistry, observationConvention);
5858
}
5959

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/web/client/WebClientObservationConfiguration.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
2727
import org.springframework.context.annotation.Bean;
2828
import org.springframework.context.annotation.Configuration;
29-
import org.springframework.web.reactive.function.client.ClientObservationConvention;
30-
import org.springframework.web.reactive.function.client.DefaultClientObservationConvention;
29+
import org.springframework.web.reactive.function.client.ClientRequestObservationConvention;
30+
import org.springframework.web.reactive.function.client.DefaultClientRequestObservationConvention;
3131
import org.springframework.web.reactive.function.client.WebClient;
3232

3333
/**
@@ -48,9 +48,9 @@ ObservationWebClientCustomizer observationWebClientCustomizer(ObservationRegistr
4848
String observationName = observationProperties.getHttp().getClient().getRequests().getName();
4949
String name = (observationName != null) ? observationName : metricName;
5050
WebClientExchangeTagsProvider tagsProvider = optionalTagsProvider.getIfAvailable();
51-
ClientObservationConvention observationConvention = (tagsProvider != null)
51+
ClientRequestObservationConvention observationConvention = (tagsProvider != null)
5252
? new ClientObservationConventionAdapter(name, tagsProvider)
53-
: new DefaultClientObservationConvention(name);
53+
: new DefaultClientRequestObservationConvention(name);
5454
return new ObservationWebClientCustomizer(observationRegistry, observationConvention);
5555
}
5656

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/web/client/ClientHttpObservationConventionAdapterTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
import org.springframework.http.HttpStatus;
2929
import org.springframework.http.client.ClientHttpRequest;
3030
import org.springframework.http.client.ClientHttpResponse;
31-
import org.springframework.http.client.observation.ClientHttpObservationContext;
31+
import org.springframework.http.client.observation.ClientRequestObservationContext;
3232
import org.springframework.mock.http.client.MockClientHttpRequest;
3333
import org.springframework.mock.http.client.MockClientHttpResponse;
3434

@@ -51,11 +51,11 @@ class ClientHttpObservationConventionAdapterTests {
5151

5252
private ClientHttpResponse response = new MockClientHttpResponse("foo".getBytes(), HttpStatus.OK);
5353

54-
private ClientHttpObservationContext context;
54+
private ClientRequestObservationContext context;
5555

5656
@BeforeEach
5757
void setup() {
58-
this.context = new ClientHttpObservationContext(this.request);
58+
this.context = new ClientRequestObservationContext(this.request);
5959
this.context.setResponse(this.response);
6060
this.context.setUriTemplate("/resource/{name}");
6161
}

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/web/client/ClientObservationConventionAdapterTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
import org.springframework.boot.actuate.metrics.web.reactive.client.DefaultWebClientExchangeTagsProvider;
2727
import org.springframework.http.HttpMethod;
2828
import org.springframework.http.HttpStatus;
29-
import org.springframework.web.reactive.function.client.ClientObservationContext;
3029
import org.springframework.web.reactive.function.client.ClientRequest;
30+
import org.springframework.web.reactive.function.client.ClientRequestObservationContext;
3131
import org.springframework.web.reactive.function.client.ClientResponse;
3232

3333
import static org.assertj.core.api.Assertions.assertThat;
@@ -49,11 +49,11 @@ class ClientObservationConventionAdapterTests {
4949

5050
private ClientResponse response = ClientResponse.create(HttpStatus.OK).body("foo").build();
5151

52-
private ClientObservationContext context;
52+
private ClientRequestObservationContext context;
5353

5454
@BeforeEach
5555
void setup() {
56-
this.context = new ClientObservationContext();
56+
this.context = new ClientRequestObservationContext();
5757
this.context.setCarrier(this.request);
5858
this.context.setResponse(this.response);
5959
this.context.setUriTemplate("/resource/{name}");

spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/client/DefaultRestTemplateExchangeTagsProvider.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222

2323
import org.springframework.http.HttpRequest;
2424
import org.springframework.http.client.ClientHttpResponse;
25-
import org.springframework.http.client.observation.DefaultClientHttpObservationConvention;
2625
import org.springframework.util.StringUtils;
2726

2827
/**
@@ -32,7 +31,7 @@
3231
* @author Nishant Raut
3332
* @since 2.0.0
3433
* @deprecated since 3.0.0 for removal in 3.2.0 in favor of
35-
* {@link DefaultClientHttpObservationConvention}
34+
* {@link org.springframework.http.client.observation.DefaultClientRequestObservationConvention}
3635
*/
3736
@Deprecated(since = "3.0.0", forRemoval = true)
3837
@SuppressWarnings({ "deprecation", "removal" })

spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/client/ObservationRestTemplateCustomizer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import io.micrometer.observation.ObservationRegistry;
2020

2121
import org.springframework.boot.web.client.RestTemplateCustomizer;
22-
import org.springframework.http.client.observation.ClientHttpObservationConvention;
22+
import org.springframework.http.client.observation.ClientRequestObservationConvention;
2323
import org.springframework.web.client.RestTemplate;
2424

2525
/**
@@ -33,15 +33,15 @@ public class ObservationRestTemplateCustomizer implements RestTemplateCustomizer
3333

3434
private final ObservationRegistry observationRegistry;
3535

36-
private final ClientHttpObservationConvention observationConvention;
36+
private final ClientRequestObservationConvention observationConvention;
3737

3838
/**
3939
* Create a new {@code ObservationRestTemplateCustomizer}.
4040
* @param observationConvention the observation convention
4141
* @param observationRegistry the observation registry
4242
*/
4343
public ObservationRestTemplateCustomizer(ObservationRegistry observationRegistry,
44-
ClientHttpObservationConvention observationConvention) {
44+
ClientRequestObservationConvention observationConvention) {
4545
this.observationConvention = observationConvention;
4646
this.observationRegistry = observationRegistry;
4747
}

spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/client/RestTemplateExchangeTags.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import org.springframework.boot.actuate.metrics.http.Outcome;
2626
import org.springframework.http.HttpRequest;
2727
import org.springframework.http.client.ClientHttpResponse;
28-
import org.springframework.http.client.observation.DefaultClientHttpObservationConvention;
28+
import org.springframework.http.client.observation.DefaultClientRequestObservationConvention;
2929
import org.springframework.util.StringUtils;
3030
import org.springframework.web.client.RestTemplate;
3131

@@ -39,7 +39,7 @@
3939
* @author Brian Clozel
4040
* @since 2.0.0
4141
* @deprecated since 3.0.0 for removal in 3.2.0 in favor of
42-
* {@link DefaultClientHttpObservationConvention}
42+
* {@link DefaultClientRequestObservationConvention}
4343
*/
4444
@Deprecated(since = "3.0.0", forRemoval = true)
4545
public final class RestTemplateExchangeTags {

spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/client/RestTemplateExchangeTagsProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
import org.springframework.http.HttpRequest;
2222
import org.springframework.http.client.ClientHttpResponse;
23-
import org.springframework.http.client.observation.ClientHttpObservationConvention;
23+
import org.springframework.http.client.observation.ClientRequestObservationConvention;
2424
import org.springframework.web.client.RestTemplate;
2525

2626
/**
@@ -30,7 +30,7 @@
3030
* @author Andy Wilkinson
3131
* @since 2.0.0
3232
* @deprecated since 3.0.0 for removal in 3.2.0 in favor of
33-
* {@link ClientHttpObservationConvention}
33+
* {@link ClientRequestObservationConvention}
3434
*/
3535
@FunctionalInterface
3636
@Deprecated(since = "3.0.0", forRemoval = true)

spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/web/reactive/client/ObservationWebClientCustomizer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import io.micrometer.observation.ObservationRegistry;
2020

2121
import org.springframework.boot.web.reactive.function.client.WebClientCustomizer;
22-
import org.springframework.web.reactive.function.client.ClientObservationConvention;
22+
import org.springframework.web.reactive.function.client.ClientRequestObservationConvention;
2323
import org.springframework.web.reactive.function.client.WebClient;
2424

2525
/**
@@ -33,7 +33,7 @@ public class ObservationWebClientCustomizer implements WebClientCustomizer {
3333

3434
private final ObservationRegistry observationRegistry;
3535

36-
private final ClientObservationConvention observationConvention;
36+
private final ClientRequestObservationConvention observationConvention;
3737

3838
/**
3939
* Create a new {@code ObservationWebClientCustomizer} that will configure the
@@ -42,7 +42,7 @@ public class ObservationWebClientCustomizer implements WebClientCustomizer {
4242
* @param observationConvention the convention to use to populate observations
4343
*/
4444
public ObservationWebClientCustomizer(ObservationRegistry observationRegistry,
45-
ClientObservationConvention observationConvention) {
45+
ClientRequestObservationConvention observationConvention) {
4646
this.observationRegistry = observationRegistry;
4747
this.observationConvention = observationConvention;
4848
}

spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/web/client/ObservationRestTemplateCustomizerTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import io.micrometer.observation.tck.TestObservationRegistry;
2121
import org.junit.jupiter.api.Test;
2222

23-
import org.springframework.http.client.observation.DefaultClientHttpObservationConvention;
23+
import org.springframework.http.client.observation.DefaultClientRequestObservationConvention;
2424
import org.springframework.web.client.RestTemplate;
2525

2626
import static org.assertj.core.api.Assertions.assertThat;
@@ -39,14 +39,14 @@ class ObservationRestTemplateCustomizerTests {
3939
private RestTemplate restTemplate = new RestTemplate();
4040

4141
private ObservationRestTemplateCustomizer customizer = new ObservationRestTemplateCustomizer(
42-
this.observationRegistry, new DefaultClientHttpObservationConvention(TEST_METRIC_NAME));
42+
this.observationRegistry, new DefaultClientRequestObservationConvention(TEST_METRIC_NAME));
4343

4444
@Test
4545
void shouldCustomizeObservationConfiguration() {
4646
this.customizer.customize(this.restTemplate);
4747
assertThat(this.restTemplate).hasFieldOrPropertyWithValue("observationRegistry", this.observationRegistry);
4848
assertThat(this.restTemplate).extracting("observationConvention")
49-
.isInstanceOf(DefaultClientHttpObservationConvention.class)
49+
.isInstanceOf(DefaultClientRequestObservationConvention.class)
5050
.hasFieldOrPropertyWithValue("name", TEST_METRIC_NAME);
5151
}
5252

spring-boot-project/spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/web/reactive/client/ObservationWebClientCustomizerTests.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
import io.micrometer.observation.tck.TestObservationRegistry;
2020
import org.junit.jupiter.api.Test;
2121

22-
import org.springframework.web.reactive.function.client.ClientObservationConvention;
23-
import org.springframework.web.reactive.function.client.DefaultClientObservationConvention;
22+
import org.springframework.web.reactive.function.client.ClientRequestObservationConvention;
23+
import org.springframework.web.reactive.function.client.DefaultClientRequestObservationConvention;
2424
import org.springframework.web.reactive.function.client.WebClient;
2525

2626
import static org.assertj.core.api.Assertions.assertThat;
@@ -37,7 +37,7 @@ class ObservationWebClientCustomizerTests {
3737

3838
private TestObservationRegistry observationRegistry = TestObservationRegistry.create();
3939

40-
private ClientObservationConvention observationConvention = new DefaultClientObservationConvention(
40+
private ClientRequestObservationConvention observationConvention = new DefaultClientRequestObservationConvention(
4141
TEST_METRIC_NAME);
4242

4343
private ObservationWebClientCustomizer customizer = new ObservationWebClientCustomizer(this.observationRegistry,
@@ -50,7 +50,7 @@ void shouldCustomizeObservationConfiguration() {
5050
this.customizer.customize(this.clientBuilder);
5151
assertThat(this.clientBuilder).hasFieldOrPropertyWithValue("observationRegistry", this.observationRegistry);
5252
assertThat(this.clientBuilder).extracting("observationConvention")
53-
.isInstanceOf(DefaultClientObservationConvention.class)
53+
.isInstanceOf(DefaultClientRequestObservationConvention.class)
5454
.hasFieldOrPropertyWithValue("name", TEST_METRIC_NAME);
5555
}
5656

0 commit comments

Comments
 (0)