Skip to content

Commit

Permalink
Map connection and read timeouts for New Relic again
Browse files Browse the repository at this point in the history
Closes gh-21440
  • Loading branch information
snicoll committed May 26, 2020
1 parent 53bf65d commit 069c31a
Showing 1 changed file with 18 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,14 @@
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.ClientProviderType;
import io.micrometer.newrelic.NewRelicClientProvider;
import io.micrometer.newrelic.NewRelicConfig;
import io.micrometer.newrelic.NewRelicInsightsAgentClientProvider;
import io.micrometer.newrelic.NewRelicInsightsApiClientProvider;
import io.micrometer.newrelic.NewRelicMeterRegistry;
import io.micrometer.newrelic.NewRelicMeterRegistry.Builder;

import org.springframework.beans.factory.ObjectProvider;
import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
Expand Down Expand Up @@ -67,13 +69,23 @@ public NewRelicConfig newRelicConfig() {
return new NewRelicPropertiesConfigAdapter(this.properties);
}

@Bean
@ConditionalOnMissingBean
public NewRelicClientProvider newRelicClientProvider(NewRelicConfig newRelicConfig) {
if (newRelicConfig.clientProviderType() == ClientProviderType.INSIGHTS_AGENT) {
return new NewRelicInsightsAgentClientProvider(newRelicConfig);
}
return new NewRelicInsightsApiClientProvider(newRelicConfig,
new HttpUrlConnectionSender(this.properties.getConnectTimeout(), this.properties.getReadTimeout()));

}

@Bean
@ConditionalOnMissingBean
public NewRelicMeterRegistry newRelicMeterRegistry(NewRelicConfig newRelicConfig, Clock clock,
ObjectProvider<NewRelicClientProvider> newRelicClientProvider) {
Builder builder = NewRelicMeterRegistry.builder(newRelicConfig).clock(clock);
newRelicClientProvider.ifUnique(builder::clientProvider);
return builder.build();
NewRelicClientProvider newRelicClientProvider) {
return NewRelicMeterRegistry.builder(newRelicConfig).clock(clock).clientProvider(newRelicClientProvider)
.build();
}

}

0 comments on commit 069c31a

Please sign in to comment.