IDE集成
当你对你的应用程序进行分析时,在JProfiler的视图中出现的方法和类经常会导致一些问题, 而这些问题只有通过查看它们的源代码才能得到答案。虽然JProfiler为此提供了一个内置的源代码查看器,但它的功能有限。 另外,当发现问题时,下一步通常是编辑违规代码。理想情况下,应该有一个从JProfiler中的分析视图到IDE的直接路径, 这样你就可以检查和改进代码,而无需任何手动查找。
安装IDE集成
JProfiler为IntelliJ IDEA、eclipse和NetBeans提供了IDE集成。要安装一个IDE插件, 请调用主菜单中的会话→IDE集成。IntelliJ IDEA的插件安装是通过IDE中的插件管理来完成, 对于其他IDE,插件直接通过JProfiler来安装。安装程序也提供了这个操作,以便于和JProfiler安装一起同时更新IDE插件。 集成向导将插件与JProfiler的当前安装目录连接起来。在IDE插件设置中,可以随时更改JProfiler的使用版本。 插件和JProfiler GUI之间的协议是向后兼容的,可以和旧版本的JProfiler一起工作。
IntelliJ IDEA集成也可以从插件管理器中安装。在这种情况下,当你第一次分析时, 插件会询问你JProfiler可执行文件的位置。
在不同的平台上,JProfiler可执行文件位于不同的目录中。在Windows上,它是 ,
在Linux或Unix上,是 bin\jprofiler.exe
,
在macOS上,JProfiler应用程序中捆绑有一个用于IDE集成的特殊助手shell脚本 bin/jprofiler
。
Contents/Resources/app/bin/macos/jprofiler.sh
源代码导航
在JProfiler中,每当一个类名或方法名显示在JProfiler中时,上下文菜单都包含一个 显示源代码操作。
如果会话不是从IDE启动的,则会显示内置的源代码查看器,它利用编译后的类文件中的行号表来查找方法。 只有在应用程序设置中配置了它的根目录或包含ZIP文件时,才能找到源文件。
与源代码一起,会显示一个基于jclasslib字节码查看器 的字节码查看器显示编译后的类文件结构。
如果会话是从IDE启动的,则不使用集成的源代码查看器,显示源代码操作服从于IDE插件。 IDE集成支持启动分析会话、打开已保存的快照以及连接到正在运行的JVM。
对于实时分析会话,为IDE启动分析应用程序,类似于运行或调试它。然后JProfiler插件将插入用于分析的虚拟机参数, 并将JProfiler窗口连接到它。JProfiler作为一个单独的进程运行,并在需要时由插件启动。 来自JProfiler的源代码导航请求会被发送到IDE中的相关项目。JProfiler和IDE插件合作,使窗口无缝切换, 而不会有任务栏条目闪烁,就像你在处理一个单一进程一样。
当启动会话时,"会话启动"对话框可以让你配置所有分析设置。 根据IDE集成, 用于启动会话的配置的分析设置会被JProfiler以每个项目或每个运行配置为基础记住。 当一个会话第一次被分析时,IDE插件会根据你的源文件的包层次结构中最上面的类自动决定一个分析包的列表。 在以后的任何时候,你都可以进入会话设置对话框中的过滤器设置步骤,使用重置按钮再次执行此计算。
对于快照,是通过在IDE中调用文件→打开操作打开一个快照或在项目窗口中双击它来设置IDE集成的。 JProfiler的源代码导航会被引导到当前项目中。最后,IDE插件在IDE中添加了一个Attach到JVM操作, 让你可以选择一个正在运行的JVM,在IDE中进行源代码导航,和快照的机制类似。
有时,你可能想在即使没有某个类或方法的情况下也要切换到IDE。
为此,JProfiler窗口中的工具栏上有一个激活IDE按钮,用以显示由IDE集成打开的分析会话。
该操作与F11
键绑定,就像 IDE 中的 JProfiler 激活操作一样,
因此你可以通过相同的键绑定在 IDE 和 JProfiler 之间来回切换。
IntelliJ IDEA集成
要从IntelliJ IDEA对你的应用程序进行分析,请从运行菜单中选择一个命令,编辑器中的上下文菜单, 或者点击相应的工具栏按钮。
JProfiler可以对IDEA的大多数运行配置类型进行分析,包括应用程序服务器。为进一步配置设置,编辑运行配置, 选择启动/连接选项卡,并选择 JProfiler条目。下面的屏幕截图显示了一个本地服务器配置的启动设置。 根据运行配置类型,你可以调整JVM选项或为远程分析检索分析参数。
然后就像平常使用"运行"命令一样,启动被分析的应用程序。为Java和Kotlin实现了精确的源代码导航。
IDE设置的JProfiler选项卡中,可以调整使用的JProfiler可执行文件, 以及是否总是要在JProfiler中为新分析会话打开一个新窗口。
在IDEA中,当你从IDEA中对运行配置进行分析时,当你打开JProfiler快照时,或者当你Attach到正在运行的JVM时, IDEA中的JProfiler工具窗口就会显示出来。
工具栏中带有JProfiler图标的操作可以激活JProfiler窗口。在工具栏的右侧,有几个切换按钮可以访问JProfiler中的重要记录操作。 如果记录处于活动状态,则会选择相应的切换按钮。
特别相关的是CPU记录操作,因为CPU图表数据可以直接在IDE中显示。IDE中唯一提供的图表计算参数是线程状态。 如果要配置线程选择等高级参数,或者要从调用树视图中使用调用树根、调用树删除和调用树视图过滤设置,你可以在JProfiler窗口中生成图表, 然后它也会在IDE中显示出来。
计算图表时,会弹出热点列表,源码中会为传入和传出调用注解右边列图标。右边列图标会弹出一个内联图,点击方法会导航到它。 热点列表为你显示分析图表的有趣切入点。当双击表行时,会显示源码。
在JProfiler中显示按钮包含激活JProfiler窗口的操作,可以是方法图中的选定节点,也可以是方法图中相应的调用树分析。 对于传出调用,会提供"累积传出调用"分析,对于传入调用,会显示"回溯跟踪"分析。所有这些操作都可以在热点列表的上下文菜单中找到, 或者作为键盘操作。
Eclipse集成
Eclipse插件可以对大多数常见的启动配置类型进行分析,包括测试运行配置和WTP运行配置。 eclipse插件只适用于完整的eclipse SDK,不适用于部分安装的eclipse框架。
要在eclipse中对你的应用程序进行分析,请选择运行菜单中的一个分析命令。或点击相应的工具栏按钮。 分析命令相当于eclipse中的调试和运行命令,是eclipse基础设施的一部分, 除了JProfiler插件添加的运行→Attach JProfiler到JVM菜单项。
如果菜单项 运行→分析...不存在于Java透视图中,请为该透视图启用"分析"操作, 在窗口→透视图→自定义透视图下, 通过将操作集可用性标签带到前面,选择 分析复选框。
一些与JProfiler相关的设置,包括JProfiler可执行文件的位置, 可以在eclipse中的 窗口→首选项→JProfiler调整
NetBeans集成
在NetBeans中,你可以对标准、自由形式和使用exec Maven插件的Maven项目进行分析。 要在NetBeans中分析你的应用,从运行菜单中选择一条分析命令, 或点击相应的工具栏按钮。对于以其他方式启动应用程序的Maven项目和Gradle项目,请正常 启动该项目,并使用菜单中的分析→Attach JProfiler到JVM操作。
对于自由形式的项目,在尝试分析之前,你必须调试(Debug)一次你的应用程序,因为需要的文件
nbproject/ide-targets.xml
是由调试(Debug)操作设置的。
JProfiler会添加一个名为"profile-jprofiler"的target,内容与debug target相同,
它会根据需要修改VM参数。如果你在分析自由形式的项目遇到问题,请检查这个target的实现。
你可以使用集成的Tomcat或NetBeans中配置的任何其他Tomcat服务器对Web应用程序进行分析。 当你的主项目是一个web项目时,选择用JProfiler分析主项目启动启用了分析的Tomcat服务器。
如果你使用 NetBeans 与捆绑的 GlassFish Server,并且你的主项目已设置为使用 GlassFish Server, 选择用JProfiler分析主项目启动应用程序服务器并启用分析。
JProfiler可执行文件的位置和打开新JProfiler窗口的策略可以在选项对话框的 其他→JProfiler下调整。