JMC 项目环境搭建

时间:2024-03-18 17:51:28

介绍

JMC 是一个知名的 JVM 分析和诊断工具套件,主要针对运行在生产环境中的系统。开发者可使用它来收集有关 JVM 和 Java 应用如何运行的详细信息。目前JMC已经被Oracle开源,repo依然托管在http://hg.openjdk.java.net/jmc/jmc/ ,有一个实验性的导入在https://github.com/JDKMissionControl/jmc 上,通过https://community.oracle.com/thread/4180326 了解到Github上的repo只是测试性的,目前所有工作还是通过hg repo来完成。本文主要针对搭建开发环境进行简单介绍,当然还是以hg 的repo为主,关于测试代码会放在https://github.com/smarkm/jmc/tree/smark-test 有兴趣的同学可以了解和讨论,测试代码放在smark-test分支下(主要针对感兴趣的内容做些简单测试)。

环境准备

  • 从hg repo clone代码hg clone http://hg.openjdk.java.net/jmc/jmc/
  • 在third-party目录下执行mvn p2:site构建依赖
  • 在third-party目录下执行mvn jetty:run启动本地更新站点(eclipse)
  • 需要建一个名为JMC_JDK的User Library,并添加以下jar包到Library中: tools.jar (/lib/tools.jar),jconsole.jar (/lib/jconsole.jar),jfxswt.jar (/jre/lib/jfxswt.jar),and finally the jfxrt.jar (/jre/lib/ext/jfxrt.jar)
  • 建议使用Photon版本Eclipse

导入代码

整个代码结构是通过maven构建的所以你可以选择性的导入需要的project,目录结构大致如下:
[img[imgs/java-jmc-repo-dir.png]]

  • releng\platform-definitions 下是RPC的Target Platform定义文件,可以根据自己的需要导入,这loadTarget Platform的时候用到的就是准备环境中做构建的依赖
  • core下面是JFR相关解析和处理的核心API
  • application下是RCP相关的project
  • 上述两个目录中包含很多测试项目,如果只是入手可以先不导入那些测试项目

验证本地代码正常工作

导入项目后会自动导入4个对应的运行配置,我们可以直接启动JMC RCP 运行
JMC 项目环境搭建

当前代码为7.0开发版,启动界面和JFR分析界面都有很大的改动
JMC 项目环境搭建

Automated Analysis
JMC 项目环境搭建