私のバルブでは、次のような http クエリの実行時間を取得します。
public void invoke(Request request, Response response)
throws IOException, ServletException {
long t1 = System.currentTimeMillis();
getNext().invoke(request, response);
long t2 = System.currentTimeMillis();
long time = t2 - t1;
...
}
この方法で取得した時間は、サーバー側の実行時間だけでなく、ネットワーク時間も提供してくれると思いますか? 出来ますか ?
(リクエストを行うクライアントによっては、測定された平均時間が1つのIPから同じではないため、平均時間は70ミリ秒で、別のIPは270ミリ秒です)
Filter にまったく同じコードを書きました。
long before = System.currentTimeMillis();
chain.doFilter(request, response);
long after = System.currentTimeMillis();
、しかし、私のテストでは、バルブとフィルターの実行時間は同じです...
サーブレットのみの実行時間を取得することにもっと興味があります。しかし、最後のバイトが送信された時間も取得できれば、興味があります。
バルブとフィルターで何ができるかを明確にしてくれてありがとう。