You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过编程方式检测Java Flight Recorder(JFR)是否正在录制?

Java Flight Recorder 录制状态检测方法

JFR确实没有提供直接检测“是否正在录制”的单一API。

你提到的FlightRecorder.getFlightRecorder().getRecordings().isEmpty()并不准确——这个方法返回的是所有已创建的录制实例,其中包含已经停止但未销毁的录制,所以列表非空不代表有正在运行的录制。

正确的方式是遍历录制列表,检查是否存在状态为RUNNING的录制:

boolean isRecording = FlightRecorder.getFlightRecorder()
    .getRecordings()
    .stream()
    .anyMatch(recording -> recording.getState() == Recording.State.RUNNING);

只有当存在处于RUNNING状态的录制实例时,才说明当前有正在进行的JFR录制。

内容的提问来源于stack exchange,提问作者stiemannkj1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 17:22:37