|
@@ -14,6 +14,8 @@ import com.qmth.boot.core.retrofit.interceptor.LoggingInterceptor;
|
|
|
import com.qmth.boot.core.retrofit.interceptor.RetryInterceptor;
|
|
|
import com.qmth.boot.core.retrofit.interceptor.SignatureInterceptor;
|
|
|
import com.qmth.boot.core.retrofit.interfaces.CustomizeRetrofitConfiguration;
|
|
|
+import io.micrometer.core.instrument.MeterRegistry;
|
|
|
+import io.micrometer.core.instrument.binder.okhttp3.OkHttpMetricsEventListener;
|
|
|
import okhttp3.ConnectionPool;
|
|
|
import okhttp3.OkHttpClient;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -36,6 +38,8 @@ public class RetrofitFactoryBean<T> implements FactoryBean<T>, ApplicationContex
|
|
|
|
|
|
private RetrofitProperties retrofitProperties;
|
|
|
|
|
|
+ private MeterRegistry meterRegistry;
|
|
|
+
|
|
|
private ObjectMapper mapper;
|
|
|
|
|
|
public RetrofitFactoryBean(Class<T> retrofitInterface) {
|
|
@@ -111,6 +115,12 @@ public class RetrofitFactoryBean<T> implements FactoryBean<T>, ApplicationContex
|
|
|
okHttpClientBuilder.addNetworkInterceptor(new LoggingInterceptor(logLevel));
|
|
|
}
|
|
|
|
|
|
+ // add metrics event listener
|
|
|
+ if (meterRegistry != null) {
|
|
|
+ okHttpClientBuilder
|
|
|
+ .eventListener(OkHttpMetricsEventListener.builder(meterRegistry, "okhttp.client").build());
|
|
|
+ }
|
|
|
+
|
|
|
return okHttpClientBuilder.build();
|
|
|
}
|
|
|
|
|
@@ -134,6 +144,7 @@ public class RetrofitFactoryBean<T> implements FactoryBean<T>, ApplicationContex
|
|
|
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
|
|
|
this.applicationContext = applicationContext;
|
|
|
this.retrofitProperties = applicationContext.getBean(RetrofitProperties.class);
|
|
|
+ this.meterRegistry = applicationContext.getBean(MeterRegistry.class);
|
|
|
}
|
|
|
|
|
|
}
|