我目前正在使用带有 JDK 11 的 JDK Flight Recorder,但在 CI/CD 平台中遇到了一些问题。不幸的是,新的 Flight Recorder 并没有太多的文档,而是在较旧的 Flight Recorder 上,它仍然是在 Java 下开发的。当我尝试直接从 IDE 开始测试时,一切正常,我得到了我的录音文件。当我尝试在 CI/CD 平台中自动执行相同的操作时,它会导致超时和许多不同的无限期失败,其中包括:创建文件时遇到问题,甚至没有写入文件等。
我使用的 JVM 命令如下(为了更好的可读性,我放置了额外的空格):
-XX:+FlightRecorder
-XX:StartFlightRecording= name="UiTestServer", settings="profile", dumponexit=true, filename=""+System.getenv("CI_PROJECT_DIR") + "flightRecording/javaFlightRecorder.jfr"
这些命令与 IDE 自动使用的命令相同,当右键单击指定的测试开始飞行记录时。
有人知道,飞行记录器是否存在与此类系统或可能与其并行运行的特定服务的问题?我听说过一些无法在 CI 平台上执行的分析工具。
如果您需要更多详细信息,请问我。不过,我可能无法说出与该项目有关的任何事情。