Skip to content

Commit

Permalink
#8069 handled review comments again
Browse files Browse the repository at this point in the history
Signed-off-by: Ludovic Orban <lorban@bitronix.be>
  • Loading branch information
lorban committed Jan 18, 2023
1 parent 8ab53b9 commit e8ad28e
Showing 1 changed file with 14 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@

package org.eclipse.jetty.server.handler;

import java.util.function.Function;

import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.HttpStream;
import org.eclipse.jetty.server.Request;
Expand All @@ -34,31 +32,37 @@ public abstract class AbstractLatencyRecordingHandler extends Handler.Wrapper
{
private static final Logger LOG = LoggerFactory.getLogger(AbstractLatencyRecordingHandler.class);

private final Function<HttpStream, HttpStream> recordingWrapper;

public AbstractLatencyRecordingHandler()
{
this.recordingWrapper = httpStream -> new HttpStream.Wrapper(httpStream)
}

private HttpStream recordingWrapper(HttpStream httpStream)
{
return new HttpStream.Wrapper(httpStream)
{
@Override
public void succeeded()
{
// Take the httpStream nano timestamp before calling super.
long before = httpStream.getNanoTime();
super.succeeded();
fireOnRequestComplete();
fireOnRequestComplete(before);
}

@Override
public void failed(Throwable x)
{
// Take the httpStream nano timestamp before calling super.
long before = httpStream.getNanoTime();
super.failed(x);
fireOnRequestComplete();
fireOnRequestComplete(before);
}

private void fireOnRequestComplete()
private void fireOnRequestComplete(long before)
{
try
{
onRequestComplete(NanoTime.since(httpStream.getNanoTime()));
onRequestComplete(NanoTime.since(before));
}
catch (Throwable t)
{
Expand All @@ -72,7 +76,7 @@ private void fireOnRequestComplete()
@Override
public boolean process(Request request, Response response, Callback callback) throws Exception
{
request.addHttpStreamWrapper(recordingWrapper);
request.addHttpStreamWrapper(this::recordingWrapper);
return super.process(request, response, callback);
}

Expand Down

0 comments on commit e8ad28e

Please sign in to comment.