Java 跟踪web服务调用
我有一个JAXWS web服务方法,它每天有200万次调用。它部署在wildfly上。呼叫的持续时间对于毫秒精度非常重要 我现在得到的是从日志文件计算的持续时间。我在减去请求的结束时间和开始时间,但它可能不同于实际的请求处理时间Java 跟踪web服务调用,java,web-services,jax-ws,call,duration,Java,Web Services,Jax Ws,Call,Duration,我有一个JAXWS web服务方法,它每天有200万次调用。它部署在wildfly上。呼叫的持续时间对于毫秒精度非常重要 我现在得到的是从日志文件计算的持续时间。我在减去请求的结束时间和开始时间,但它可能不同于实际的请求处理时间 12:00:00,100 INFO [com.myapp] (default task-19) Request:mymethod started, id=25 12:00:00,150 INFO [com.myapp] (default task-19) Reque
12:00:00,100 INFO [com.myapp] (default task-19) Request:mymethod started, id=25
12:00:00,150 INFO [com.myapp] (default task-19) Request:mymethod ended, id=25
当我们调用我们的服务时,我们发现在某些情况下,根据日志计算的持续时间与调用方服务计算的持续时间不同(调用来自同一个wildfly)。对于10000次呼叫,平均差异为2ms,但对于25次操作,差异约为100ms
public void myMethod() {
long startTime = System.nanoTime();
/* some code here */
long endTime = System.nanoTime();
lgg.info("myMethod ended, duration=" + endTime - startTime );
}
这将是更精确的持续时间,但我需要准确的操作处理全职。所有序列化请求等
如何计算web服务操作的实际持续时间?在我的服务器上接收呼叫和从服务器返回呼叫之间的时间。(无网络时间)