From edd1fb62689c74676cb0cdaf3444ced3ca18da5f Mon Sep 17 00:00:00 2001 From: Adam Jordens Date: Thu, 12 Jul 2018 22:59:56 -0700 Subject: [PATCH] feat(metrics): Enable the `OkHttpMetricsInterceptor` for `FiatService` (#251) --- .../fiat/shared/FiatAuthenticationConfig.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/fiat-api/src/main/java/com/netflix/spinnaker/fiat/shared/FiatAuthenticationConfig.java b/fiat-api/src/main/java/com/netflix/spinnaker/fiat/shared/FiatAuthenticationConfig.java index 989af78f6..d3847601e 100644 --- a/fiat-api/src/main/java/com/netflix/spinnaker/fiat/shared/FiatAuthenticationConfig.java +++ b/fiat-api/src/main/java/com/netflix/spinnaker/fiat/shared/FiatAuthenticationConfig.java @@ -18,8 +18,11 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import com.netflix.spectator.api.Registry; import com.netflix.spinnaker.config.OkHttpClientConfiguration; +import com.netflix.spinnaker.okhttp.OkHttpMetricsInterceptor; import com.netflix.spinnaker.okhttp.SpinnakerRequestInterceptor; +import com.squareup.okhttp.OkHttpClient; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import lombok.val; @@ -57,17 +60,22 @@ public class FiatAuthenticationConfig { @Bean @ConditionalOnMissingBean(FiatService.class) // Allows for override - public FiatService fiatService(FiatClientConfigurationProperties fiatConfigurationProperties, + public FiatService fiatService(Registry registry, + FiatClientConfigurationProperties fiatConfigurationProperties, SpinnakerRequestInterceptor interceptor, OkHttpClientConfiguration okHttpClientConfiguration) { // New role providers break deserialization if this is not enabled. val objectMapper = new ObjectMapper(); objectMapper.enable(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL); objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); + + OkHttpClient okHttpClient = okHttpClientConfiguration.create(); + okHttpClient.interceptors().add(new OkHttpMetricsInterceptor(registry)); + return new RestAdapter.Builder() .setEndpoint(Endpoints.newFixedEndpoint(fiatConfigurationProperties.getBaseUrl())) .setRequestInterceptor(interceptor) - .setClient(new OkClient(okHttpClientConfiguration.create())) + .setClient(new OkClient(okHttpClient)) .setConverter(new JacksonConverter(objectMapper)) .setLogLevel(retrofitLogLevel) .setLog(new Slf4jRetrofitLogger(FiatService.class))