Class MicrometerHttpClientInterceptor

java.lang.Object
io.micrometer.core.instrument.binder.httpcomponents.hc5.MicrometerHttpClientInterceptor

public class MicrometerHttpClientInterceptor extends Object
Provides HttpRequestInterceptor and HttpResponseInterceptor for instrumenting async Apache HTTP Client 5. Configure the interceptors on an HttpAsyncClient. Usage example:

     MicrometerHttpClientInterceptor interceptor = new MicrometerHttpClientInterceptor(registry,
             HttpRequest::getRequestUri,
             Tags.empty(),
             true);

     CloseableHttpAsyncClient httpAsyncClient = HttpAsyncClients.custom()
                 .addRequestInterceptorFirst(interceptor.getRequestInterceptor())
                 .addResponseInterceptorLast(interceptor.getResponseInterceptor())
                 .build();
 
Since:
1.11.0
  • Constructor Details

    • MicrometerHttpClientInterceptor

      public MicrometerHttpClientInterceptor(MeterRegistry meterRegistry, Function<org.apache.hc.core5.http.HttpRequest,String> uriMapper, Iterable<Tag> extraTags, boolean exportTagsForRoute)
      Create a MicrometerHttpClientInterceptor instance.
      Parameters:
      meterRegistry - meter registry to bind
      uriMapper - URI mapper to create uri tag
      extraTags - extra tags
      exportTagsForRoute - whether to export tags for route
    • MicrometerHttpClientInterceptor

      public MicrometerHttpClientInterceptor(MeterRegistry meterRegistry, Iterable<Tag> extraTags, boolean exportTagsForRoute)
      Create a MicrometerHttpClientInterceptor instance with DefaultUriMapper.
      Parameters:
      meterRegistry - meter registry to bind
      extraTags - extra tags
      exportTagsForRoute - whether to export tags for route
  • Method Details

    • getRequestInterceptor

      public org.apache.hc.core5.http.HttpRequestInterceptor getRequestInterceptor()
    • getResponseInterceptor

      public org.apache.hc.core5.http.HttpResponseInterceptor getResponseInterceptor()