Move code from spring-boot-actuator to spring-boot-http-client

See gh-46118
This commit is contained in:
Andy Wilkinson 2025-05-12 12:19:02 +01:00
parent ea621d96ee
commit 4299643d8d
10 changed files with 15 additions and 14 deletions

View File

@ -20,9 +20,9 @@ import io.micrometer.observation.ObservationRegistry;
import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties; import org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties;
import org.springframework.boot.actuate.metrics.web.client.ObservationRestClientCustomizer;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.http.client.rest.actuate.observation.ObservationRestClientCustomizer;
import org.springframework.boot.web.client.RestClientCustomizer; import org.springframework.boot.web.client.RestClientCustomizer;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@ -36,7 +36,7 @@ import org.springframework.web.client.RestClient;
* @author Moritz Halbritter * @author Moritz Halbritter
*/ */
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
@ConditionalOnClass(RestClient.class) @ConditionalOnClass({ RestClient.class, ObservationRestClientCustomizer.class })
@ConditionalOnBean(RestClient.Builder.class) @ConditionalOnBean(RestClient.Builder.class)
class RestClientObservationConfiguration { class RestClientObservationConfiguration {

View File

@ -20,9 +20,9 @@ import io.micrometer.observation.ObservationRegistry;
import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties; import org.springframework.boot.actuate.autoconfigure.observation.ObservationProperties;
import org.springframework.boot.actuate.metrics.web.client.ObservationRestTemplateCustomizer;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.http.client.rest.actuate.observation.ObservationRestTemplateCustomizer;
import org.springframework.boot.web.client.RestTemplateBuilder; import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
@ -36,7 +36,7 @@ import org.springframework.web.client.RestTemplate;
* @author Brian Clozel * @author Brian Clozel
*/ */
@Configuration(proxyBeanMethods = false) @Configuration(proxyBeanMethods = false)
@ConditionalOnClass(RestTemplate.class) @ConditionalOnClass({ RestTemplate.class, ObservationRestTemplateCustomizer.class })
@ConditionalOnBean(RestTemplateBuilder.class) @ConditionalOnBean(RestTemplateBuilder.class)
class RestTemplateObservationConfiguration { class RestTemplateObservationConfiguration {

View File

@ -25,8 +25,8 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun; import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration;
import org.springframework.boot.actuate.metrics.web.client.ObservationRestClientCustomizer;
import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.http.client.rest.actuate.observation.ObservationRestClientCustomizer;
import org.springframework.boot.http.client.rest.autoconfigure.RestClientAutoConfiguration; import org.springframework.boot.http.client.rest.autoconfigure.RestClientAutoConfiguration;
import org.springframework.boot.test.context.assertj.AssertableApplicationContext; import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.boot.test.context.runner.ApplicationContextRunner;

View File

@ -25,8 +25,8 @@ import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun; import org.springframework.boot.actuate.autoconfigure.metrics.test.MetricsRun;
import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.observation.ObservationAutoConfiguration;
import org.springframework.boot.actuate.metrics.web.client.ObservationRestTemplateCustomizer;
import org.springframework.boot.autoconfigure.AutoConfigurations; import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.http.client.rest.actuate.observation.ObservationRestTemplateCustomizer;
import org.springframework.boot.http.client.rest.autoconfigure.RestTemplateAutoConfiguration; import org.springframework.boot.http.client.rest.autoconfigure.RestTemplateAutoConfiguration;
import org.springframework.boot.test.context.assertj.AssertableApplicationContext; import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
import org.springframework.boot.test.context.runner.ApplicationContextRunner; import org.springframework.boot.test.context.runner.ApplicationContextRunner;

View File

@ -37,6 +37,7 @@ dependencies {
testImplementation(project(":spring-boot-project:spring-boot-test")) testImplementation(project(":spring-boot-project:spring-boot-test"))
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support")) testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
testImplementation("io.micrometer:micrometer-observation-test")
testRuntimeOnly("ch.qos.logback:logback-classic") testRuntimeOnly("ch.qos.logback:logback-classic")
testRuntimeOnly("jakarta.servlet:jakarta.servlet-api") testRuntimeOnly("jakarta.servlet:jakarta.servlet-api")

View File

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.springframework.boot.actuate.metrics.web.client; package org.springframework.boot.http.client.rest.actuate.observation;
import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.ObservationRegistry;
@ -28,7 +28,7 @@ import org.springframework.web.client.RestClient.Builder;
* record request observations. * record request observations.
* *
* @author Moritz Halbritter * @author Moritz Halbritter
* @since 3.2.0 * @since 4.0.0
*/ */
public class ObservationRestClientCustomizer implements RestClientCustomizer { public class ObservationRestClientCustomizer implements RestClientCustomizer {

View File

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.springframework.boot.actuate.metrics.web.client; package org.springframework.boot.http.client.rest.actuate.observation;
import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.ObservationRegistry;
@ -27,7 +27,7 @@ import org.springframework.web.client.RestTemplate;
* request observations. * request observations.
* *
* @author Brian Clozel * @author Brian Clozel
* @since 3.0.0 * @since 4.0.0
*/ */
public class ObservationRestTemplateCustomizer implements RestTemplateCustomizer { public class ObservationRestTemplateCustomizer implements RestTemplateCustomizer {

View File

@ -15,6 +15,6 @@
*/ */
/** /**
* Actuator support for web client metrics. * Observation integration for RestClient and RestTemplate.
*/ */
package org.springframework.boot.actuate.metrics.web.client; package org.springframework.boot.http.client.rest.actuate.observation;

View File

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.springframework.boot.actuate.metrics.web.client; package org.springframework.boot.http.client.rest.actuate.observation;
import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.ObservationRegistry;
import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.observation.tck.TestObservationRegistry;

View File

@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.springframework.boot.actuate.metrics.web.client; package org.springframework.boot.http.client.rest.actuate.observation;
import io.micrometer.observation.ObservationRegistry; import io.micrometer.observation.ObservationRegistry;
import io.micrometer.observation.tck.TestObservationRegistry; import io.micrometer.observation.tck.TestObservationRegistry;