public void requestEnd(HttpClientRequestMetric requestMetric) {
requestMetric.requestEnd = System.nanoTime();
}
@Override
public void responseBegin(HttpClientRequestMetric requestMetric, HttpClientResponse response) {
<BUG>long waitTime = System.nanoTime() - requestMetric.requestEnd;
requestMetric.endpointMetric.ttfb.update(waitTime, TimeUnit.NANOSECONDS);
}</BUG>
@Override
<BUG>public HttpClientRequestMetric responsePushed(EndpointMetric endpointMetric, Long socketMetric, SocketAddress localAddress, SocketAddress remoteAddress, HttpClientRequest request) {
endpointMetric.inUse.inc();
return requestBegin(endpointMetric, socketMetric, localAddress, remoteAddress, request);</BUG>
}

public void requestEnd(HttpClientRequestMetric requestMetric) {
requestMetric.requestEnd = System.nanoTime();
}
@Override
public void responseBegin(HttpClientRequestMetric requestMetric, HttpClientResponse response) {
long waitTime = System.nanoTime() - requestMetric.requestEnd;
if (requestMetric.endpointMetric != null) {
requestMetric.endpointMetric.ttfb.update(waitTime, TimeUnit.NANOSECONDS);
}
}
@Override
public HttpClientRequestMetric responsePushed(EndpointMetric endpointMetric, Long socketMetric, SocketAddress localAddress, SocketAddress remoteAddress, HttpClientRequest request) {
if (endpointMetric != null) {
