diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java index 1409265e96..1aa3f58732 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/appoptics/AppOpticsMetricsExportAutoConfiguration.java @@ -19,6 +19,7 @@ package org.springframework.boot.actuate.autoconfigure.metrics.export.appoptics; import io.micrometer.appoptics.AppOpticsConfig; import io.micrometer.appoptics.AppOpticsMeterRegistry; import io.micrometer.core.instrument.Clock; +import io.micrometer.core.ipc.http.HttpUrlConnectionSender; import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration; import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration; @@ -38,6 +39,7 @@ import org.springframework.context.annotation.Configuration; * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to AppOptics. * * @author Stephane Nicoll + * @author Artsiom Yudovin * @since 2.1.0 */ @Configuration @@ -59,8 +61,12 @@ public class AppOpticsMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean public AppOpticsMeterRegistry appOpticsMeterRegistry(AppOpticsConfig config, - Clock clock) { - return new AppOpticsMeterRegistry(config, clock); + Clock clock, AppOpticsProperties appOpticsProperties) { + return AppOpticsMeterRegistry.builder(config).clock(clock) + .httpClient(new HttpUrlConnectionSender( + appOpticsProperties.getConnectTimeout(), + appOpticsProperties.getReadTimeout())) + .build(); } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogMetricsExportAutoConfiguration.java index 3a6c36a8c0..7cb91d9582 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/datadog/DatadogMetricsExportAutoConfiguration.java @@ -17,6 +17,7 @@ package org.springframework.boot.actuate.autoconfigure.metrics.export.datadog; import io.micrometer.core.instrument.Clock; +import io.micrometer.core.ipc.http.HttpUrlConnectionSender; import io.micrometer.datadog.DatadogConfig; import io.micrometer.datadog.DatadogMeterRegistry; @@ -38,6 +39,7 @@ import org.springframework.context.annotation.Configuration; * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Datadog. * * @author Jon Schneider + * @author Artsiom Yudovin * @since 2.0.0 */ @Configuration @@ -59,8 +61,12 @@ public class DatadogMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean public DatadogMeterRegistry datadogMeterRegistry(DatadogConfig datadogConfig, - Clock clock) { - return new DatadogMeterRegistry(datadogConfig, clock); + Clock clock, DatadogProperties datadogProperties) { + return DatadogMeterRegistry.builder(datadogConfig).clock(clock) + .httpClient( + new HttpUrlConnectionSender(datadogProperties.getConnectTimeout(), + datadogProperties.getReadTimeout())) + .build(); } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java index e9d28ae3f0..394d42b266 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/dynatrace/DynatraceMetricsExportAutoConfiguration.java @@ -17,6 +17,7 @@ package org.springframework.boot.actuate.autoconfigure.metrics.export.dynatrace; import io.micrometer.core.instrument.Clock; +import io.micrometer.core.ipc.http.HttpUrlConnectionSender; import io.micrometer.dynatrace.DynatraceConfig; import io.micrometer.dynatrace.DynatraceMeterRegistry; @@ -38,6 +39,7 @@ import org.springframework.context.annotation.Configuration; * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Dynatrace. * * @author Andy Wilkinson + * @author Artsiom Yudovin * @since 2.1.0 */ @Configuration @@ -59,8 +61,12 @@ public class DynatraceMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean public DynatraceMeterRegistry dynatraceMeterRegistry(DynatraceConfig dynatraceConfig, - Clock clock) { - return new DynatraceMeterRegistry(dynatraceConfig, clock); + Clock clock, DynatraceProperties dynatraceProperties) { + return DynatraceMeterRegistry.builder(dynatraceConfig).clock(clock) + .httpClient(new HttpUrlConnectionSender( + dynatraceProperties.getConnectTimeout(), + dynatraceProperties.getReadTimeout())) + .build(); } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/ElasticMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/ElasticMetricsExportAutoConfiguration.java index 3d635a4643..2478e3e370 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/ElasticMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/elastic/ElasticMetricsExportAutoConfiguration.java @@ -17,6 +17,7 @@ package org.springframework.boot.actuate.autoconfigure.metrics.export.elastic; import io.micrometer.core.instrument.Clock; +import io.micrometer.core.ipc.http.HttpUrlConnectionSender; import io.micrometer.elastic.ElasticConfig; import io.micrometer.elastic.ElasticMeterRegistry; @@ -38,6 +39,7 @@ import org.springframework.context.annotation.Configuration; * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Elastic. * * @author Andy Wilkinson + * @author Artsiom Yudovin * @since 2.1.0 */ @Configuration @@ -59,8 +61,12 @@ public class ElasticMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean public ElasticMeterRegistry elasticMeterRegistry(ElasticConfig elasticConfig, - Clock clock) { - return new ElasticMeterRegistry(elasticConfig, clock); + Clock clock, ElasticProperties elasticProperties) { + return ElasticMeterRegistry.builder(elasticConfig).clock(clock) + .httpClient( + new HttpUrlConnectionSender(elasticProperties.getConnectTimeout(), + elasticProperties.getReadTimeout())) + .build(); } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/humio/HumioMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/humio/HumioMetricsExportAutoConfiguration.java index 3d173182e6..135c5620a1 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/humio/HumioMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/humio/HumioMetricsExportAutoConfiguration.java @@ -17,6 +17,7 @@ package org.springframework.boot.actuate.autoconfigure.metrics.export.humio; import io.micrometer.core.instrument.Clock; +import io.micrometer.core.ipc.http.HttpUrlConnectionSender; import io.micrometer.humio.HumioConfig; import io.micrometer.humio.HumioMeterRegistry; @@ -38,6 +39,7 @@ import org.springframework.context.annotation.Configuration; * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Humio. * * @author Andy Wilkinson + * @author Artsiom Yudovin * @since 2.1.0 */ @Configuration @@ -58,8 +60,14 @@ public class HumioMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean - public HumioMeterRegistry humioMeterRegistry(HumioConfig humioConfig, Clock clock) { - return new HumioMeterRegistry(humioConfig, clock); + public HumioMeterRegistry humioMeterRegistry(HumioConfig humioConfig, Clock clock, + HumioProperties humioProperties) { + return HumioMeterRegistry.builder(humioConfig).clock(clock) + .httpClient( + new HttpUrlConnectionSender(humioProperties.getConnectTimeout(), + humioProperties.getReadTimeout())) + .build(); + } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxMetricsExportAutoConfiguration.java index fda2346931..15b3ef6804 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/influx/InfluxMetricsExportAutoConfiguration.java @@ -17,6 +17,7 @@ package org.springframework.boot.actuate.autoconfigure.metrics.export.influx; import io.micrometer.core.instrument.Clock; +import io.micrometer.core.ipc.http.HttpUrlConnectionSender; import io.micrometer.influx.InfluxConfig; import io.micrometer.influx.InfluxMeterRegistry; @@ -38,6 +39,7 @@ import org.springframework.context.annotation.Configuration; * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Influx. * * @author Jon Schneider + * @author Artsiom Yudovin * @since 2.0.0 */ @Configuration @@ -58,9 +60,14 @@ public class InfluxMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean - public InfluxMeterRegistry influxMeterRegistry(InfluxConfig influxConfig, - Clock clock) { - return new InfluxMeterRegistry(influxConfig, clock); + public InfluxMeterRegistry influxMeterRegistry(InfluxConfig influxConfig, Clock clock, + InfluxProperties influxProperties) { + return InfluxMeterRegistry.builder(influxConfig).clock(clock) + .httpClient( + new HttpUrlConnectionSender(influxProperties.getConnectTimeout(), + influxProperties.getReadTimeout())) + .build(); + } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/kairos/KairosMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/kairos/KairosMetricsExportAutoConfiguration.java index d1a6ba9681..9000902bb4 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/kairos/KairosMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/kairos/KairosMetricsExportAutoConfiguration.java @@ -17,6 +17,7 @@ package org.springframework.boot.actuate.autoconfigure.metrics.export.kairos; import io.micrometer.core.instrument.Clock; +import io.micrometer.core.ipc.http.HttpUrlConnectionSender; import io.micrometer.kairos.KairosConfig; import io.micrometer.kairos.KairosMeterRegistry; @@ -38,6 +39,7 @@ import org.springframework.context.annotation.Configuration; * {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to KairosDB. * * @author Stephane Nicoll + * @author Artsiom Yudovin * @since 2.1.0 */ @Configuration @@ -58,9 +60,14 @@ public class KairosMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean - public KairosMeterRegistry kairosMeterRegistry(KairosConfig kairosConfig, - Clock clock) { - return new KairosMeterRegistry(kairosConfig, clock); + public KairosMeterRegistry kairosMeterRegistry(KairosConfig kairosConfig, Clock clock, + KairosProperties kairosProperties) { + return KairosMeterRegistry.builder(kairosConfig).clock(clock) + .httpClient( + new HttpUrlConnectionSender(kairosProperties.getConnectTimeout(), + kairosProperties.getReadTimeout())) + .build(); + } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/NewRelicMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/NewRelicMetricsExportAutoConfiguration.java index 97c54a7362..4a3e0e285f 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/NewRelicMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/newrelic/NewRelicMetricsExportAutoConfiguration.java @@ -17,6 +17,7 @@ package org.springframework.boot.actuate.autoconfigure.metrics.export.newrelic; import io.micrometer.core.instrument.Clock; +import io.micrometer.core.ipc.http.HttpUrlConnectionSender; import io.micrometer.newrelic.NewRelicConfig; import io.micrometer.newrelic.NewRelicMeterRegistry; @@ -39,6 +40,7 @@ import org.springframework.context.annotation.Configuration; * * @author Jon Schneider * @author Andy Wilkinson + * @author Artsiom Yudovin * @since 2.0.0 */ @Configuration @@ -60,8 +62,13 @@ public class NewRelicMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean public NewRelicMeterRegistry newRelicMeterRegistry(NewRelicConfig newRelicConfig, - Clock clock) { - return new NewRelicMeterRegistry(newRelicConfig, clock); + Clock clock, NewRelicProperties newRelicProperties) { + return NewRelicMeterRegistry.builder(newRelicConfig).clock(clock) + .httpClient(new HttpUrlConnectionSender( + newRelicProperties.getConnectTimeout(), + newRelicProperties.getReadTimeout())) + .build(); + } } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/properties/StepRegistryPropertiesConfigAdapter.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/properties/StepRegistryPropertiesConfigAdapter.java index f8e758d7e7..bd6976f367 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/properties/StepRegistryPropertiesConfigAdapter.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/properties/StepRegistryPropertiesConfigAdapter.java @@ -26,6 +26,7 @@ import io.micrometer.core.instrument.step.StepRegistryConfig; * @param the properties type * @author Jon Schneider * @author Phillip Webb + * @author Artsiom Yudovin * @since 2.0.0 */ public abstract class StepRegistryPropertiesConfigAdapter @@ -55,16 +56,6 @@ public abstract class StepRegistryPropertiesConfigAdapter properties used by the tests * @param adapter used by the tests * @author Stephane Nicoll + * @author Artsiom Yudovin */ public abstract class StepRegistryPropertiesConfigAdapterTests

> { @@ -50,22 +51,6 @@ public abstract class StepRegistryPropertiesConfigAdapterTests