avaje/avaje-http-client

Expose HttpClientRequest.responseTimeMicros() ... for ease of metrics interceptors

rbygrave opened this issue · 0 comments

This was available via RequestListener.Event but not via HttpClientRequest ... and adding it here makes it easier to add metrics adapters via RequestIntercept.

  class MyIntercept implements RequestIntercept {
    
    /**
     * Note that afterResponse is not called for any retry attempts. 
     * Only called on the final success or error response.
     */
    @Override
    public void afterResponse(HttpResponse<?> response, HttpClientRequest request) {
      long responseTimeMicros = request.responseTimeMicros();
      // register this with metrics ...
    }
  }