@Override
  public Client enrich(Client client) {
    return (request, options) -> {
      FeignContext feignContext = new FeignContext(request);

      Observation observation =
          FeignObservationDocumentation.DEFAULT
              .observation(
                  this.customFeignObservationConvention,
                  DefaultFeignObservationConvention.INSTANCE,
                  () -> feignContext,
                  this.observationRegistry)
              .start();

      try {
        Response response = client.execute(request, options);
        finalizeObservation(feignContext, observation, null, response);
        return response;
      } catch (FeignException ex) {
        finalizeObservation(feignContext, observation, ex, null);
        throw ex;
      }
    };
  }
Wrap feign {@link Client} with metrics.
micrometer/src/main/java/feign/micrometer/MicrometerObservationCapability.java