我按照这项技术开发了一个web应用程序。
在步骤4中,过滤器用于打印http请求/响应信息日志。这些数据包括:
问题与(d)响应时间有关。但是,大多数响应时间是可以的。但是对于很少的http请求和响应,我发现日志具有负响应时间(例如-1024 e.g)。
在这里,我在Servlet过滤器中手动计算了http响应时间。
protected void doFilterInternal(...){
long startTime = System.currentTimeMillis();
..
some code
filterChain.doFilter(httpRequest,httpResonse);
...
long endTime = System.currentTimeMillis();
long responseTime = endTime - startTime
log.debug(responseTIme); [SLF4J logger,logback.xml]
}
发布于 2018-08-08 09:02:59
我使用了google库的StopWatch api,其中使用了System.nanoTime()、java。
https://github.com/google/guava/blob/master/guava/src/com/google/common/base/Stopwatch.java
import com.google.common.base.Stopwatch;
import java.util.concurrent.TimeUnit;
Stopwatch stopwatch = new Stopwatch();
stopwatch.start();
...
do some code
....
stopwatch.stop();
long value = stopwatch.elapsedTime(TimeUnit.MICROSECONDS);
它帮助我解决这个问题。
谢谢你的朋友吉姆·加里森
https://stackoverflow.com/questions/51605949
复制相似问题