如果我有多个Java飞行记录器文件(.JFR),如何将它们合并在一起,以便在Java任务控制中心一次看到它们

如果我有多个Java飞行记录器文件(.JFR),如何将它们合并在一起,以便在Java任务控制中心一次看到它们,java,jfr,Java,Jfr,我收到了一堆多个JFR文件进行分析,比如170个,一个一个打开要花很长时间,我可以把它们放在一个文件中吗?首先,我只有这些文件,我无法配置JVM并再次获得JFR。 比如说 2020年3月30日20日37日01日2333日0.jfr 2020年3月30日21日37日01日2333日0.jfr 2020年3月30日22日37日01日2333日0.jfr 2020年3月30日23日37日01日2333日0.jfr 。 . N 您可以从11.06或更高版本开始使用JDK_HOME/bin中的“jfr

我收到了一堆多个JFR文件进行分析,比如170个,一个一个打开要花很长时间,我可以把它们放在一个文件中吗?首先,我只有这些文件,我无法配置JVM并再次获得JFR。 比如说

  • 2020年3月30日20日37日01日2333日0.jfr
  • 2020年3月30日21日37日01日2333日0.jfr
  • 2020年3月30日22日37日01日2333日0.jfr
  • 2020年3月30日23日37日01日2333日0.jfr

    。 .

  • N

您可以从11.06或更高版本开始使用JDK_HOME/bin中的“jfr”工具

$ jfr assemble <repository> <file>

下面是windows powershell中用于连接JFR文件的脚本,请注意最终连接文件的大小,它可能太大,在这种情况下,您可能希望减少要连接的文件

$Location=“”
$outputConcatenatedJFR=“all_2333_1.jfr”
$items=获取子项-路径-过滤器*2333_1.jfr |排序对象-属性名称
新项$OutputConcatatedJFR-ItemType文件
ForEach($项目中的项目){
写入主机“处理文件-”$item
cmd/c copy/b$outputConcatenatedJFR+$item$outputConcatenatedJFR
}

这只会将结果连接到单个文件,甚至聚合结果?它只会将结果连接到单个文件。任何聚合都由GUI处理。谢谢。你说gui是什么意思?是否有某种函数可以聚合同一类的重新编码文件(例如)?如果使用JDK任务控制,它可以显示聚合的统计信息,例如按类或包聚合的方法分析。在linux上,可以使用
cat jfr\u file\u version\u*>>combined.jfr
 $ copy /b 1.jfr + 2.jfr + 3.jfr combined.jfr