0
私は春の起動を使用してAPIを実装しており、さまざまなAPI呼び出し(GET、POST、DELETE、PUT)の応答時間を追跡したい。春の起動時にフィルタを使用して応答時間を追跡する
現在、私はフィルタ
@Component
public class timeFilter implements Filter {
private static final Logger LOGGER = LoggerFactory.getLogger(timeFilter.class);
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// empty
}
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {
long time = System.currentTimeMillis();
try {
chain.doFilter(req, resp);
} finally {
time = System.currentTimeMillis() - time;
LOGGER.trace("{}: {} ms ", ((HttpServletRequest) req).getRequestURI(), time);
}
}
@Override
public void destroy() {
// empty
}
}
として、次のコードを使用しようとしてきたが、これは私のリポジトリからすべての生徒を取得GET呼び出しの応答時間を追跡します。
他のコールの応答時間を追跡できるだけでなく、各コールの応答時間をグラフにプロットする必要がある方法がありますか。また、私の最初のGET呼び出しが約200-300 MSの応答時間を持っていますが、その後の呼び出しには0-20の応答時間がある理由もありますか?
は、ばねブートstarter- '追加しますアクチュエーター 'と呼ばれ、すぐに使用可能なメトリックとして提供されます。あなた自身で書く必要はありません。 –