背景
我正在开发jboss/wildfly 16servlet mypackagex.war。这是一个maven项目。我的服务器使用openjdk11-jdk. 我设法使用 jcmd 运行生成 java 飞行记录。并设法使用 JDK Mission Control 打开该 jfr 转储。一切都很好而且花花公子。
JPID=616
jcmd $JPID JFR.configure repositorypath=/tmp/jcmdrecording/
jcmd $JPID JFR.start settings=default.jfc name=recording1 filename=JFRfile.jfr disk=true dumponexit=true maxage=2d maxsize=2000m path-to-gc-roots=true
jcmd $JPID JFR.check
jcmd $JPID JFR.dump /tmp/recording1.jfr
Run Code Online (Sandbox Code Playgroud)
问题
当我尝试以编程方式进行自定义事件记录时,如下例所示。我收到一个错误。就好像野蝇不知道jdk.jfr.Event存在一样。我错过了什么?
声明自定义事件记录器示例
package com.mypackagex.dao;
import jdk.jfr.Category;
import jdk.jfr.Event;
import jdk.jfr.Label;
import jdk.jfr.Period;
@Label("Database stats")
@Period("1 s")
@Category("Database")
public class DatabaseStatsEvent extends Event {
}
Run Code Online (Sandbox Code Playgroud)
拍摄飞行记录事件的代码位置
public class UrlObjectActionMapperDAO {
private static String …Run Code Online (Sandbox Code Playgroud)