JProfiler帮助文档Download

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 上,它是bin\jprofiler.exe,在 Linux 或 Unix 上是bin/jprofiler,而在 macOS 上,JProfiler 应用程序包中有一个特殊的帮助 shell 脚本Contents/Resources/app/bin/macos/jprofiler.sh用于 IDE 集成。

源代码导航

在 JProfiler 中显示类名或方法名的任何地方,右键菜单中都有一个显示源代码操作。

如果会话不是从 IDE 启动的,则会显示内置的源代码查看器,该查看器使用编译类文件中的行号表来查找方法。只有在应用程序设置中配置其根目录或包含的 ZIP 文件时,才能找到源文件。

与源代码显示一起,基于jclasslib 字节码查看器的字节码查看器显示编译类文件的结构。

如果会话是从 IDE 启动的,则不会使用集成的源代码查看器,显示源代码操作将交给 IDE 插件。IDE 集成支持启动的分析会话、打开保存的快照以及附加到正在运行的 JVM。

对于实时分析会话,您可以像运行或调试一样启动 IDE 的被分析应用程序。然后,JProfiler 插件将插入用于分析的 VM 参数,并连接一个 JProfiler 窗口。JProfiler 作为一个独立的进程运行,并在需要时由插件启动。JProfiler 的源代码导航请求将发送到 IDE 中的关联项目。JProfiler 和 IDE 插件合作,使窗口切换无缝进行,没有闪烁的任务栏条目,就像您在处理单个进程一样。

启动会话时,“会话启动”对话框允许您配置所有分析设置。用于启动会话的配置文件设置由 JProfiler 记住,具体取决于 IDE 集成,是按项目还是按运行配置记住的。当会话首次被分析时,IDE 插件会自动根据源文件包层次结构中的最顶层类确定被分析包的列表。在任何时候,您都可以转到会话设置对话框中的过滤器设置步骤,并使用重置按钮再次执行此计算。

对于快照,IDE 集成通过在 IDE 中使用文件→打开操作打开快照文件或在项目窗口中双击它来设置。来自 JProfiler 的源代码导航将被定向到当前项目。最后,IDE 插件在 IDE 中添加一个附加到 JVM操作,允许您选择一个正在运行的 JVM,并将源代码导航到 IDE,类似于快照的机制。

有时您可能希望切换到 IDE 而不考虑特定的类或方法。为此,JProfiler 窗口中的工具栏有一个激活 IDE按钮,该按钮显示用于由 IDE 集成打开的分析会话。该操作绑定到F11键,就像 IDE 中的 JProfiler 激活操作一样,因此您可以使用相同的键绑定在 IDE 和 JProfiler 之间来回切换。

IntelliJ IDEA 集成

要从 IntelliJ IDEA 分析您的应用程序,请在运行菜单中选择一个分析命令,或单击主工具栏中运行或调试操作旁边的下拉菜单以选择“使用 JProfiler 分析”操作。JProfiler 可以分析大多数运行 IDEA 配置类型,包括应用服务器。

JProfiler 插件向运行配置添加了额外的设置,这些设置并不立即可见。要访问这些设置,请在“修改选项”下拉菜单中选择“分析”选项。所有其他分析设置可以在 JProfiler 窗口的启动对话框中配置。

一旦分析会话启动,输出将显示在一个单独的 JProfiler 工具窗口中。该工具窗口显示控制台输出,就像常规运行工具窗口一样,还有一个“JProfiler”选项卡,可以在您连接到 JProfiler UI 后使用:

当您在 IntelliJ IDEA 中打开 JProfiler 快照或使用“使用 JProfiler 附加到 JVM”操作附加到正在运行的 JVM 时,也会显示 JProfiler 工具窗口。

“JProfiler”选项卡包含用于启动和停止 CPU 数据、分配数据和探针事件的数据记录的操作。此外,还有一个操作允许您切换到 JProfiler 窗口。JProfiler 窗口包括一个类似的操作,用于切换回 IDEA 窗口,使得使用两个独立的窗口变得方便。JProfiler 到 IntelliJ IDEA 的精确源代码导航针对 Java 和 Kotlin 实现。

分析信息通常显示在 JProfiler 窗口中,但 CPU 图形数据也集成在 IntelliJ IDEA UI 中,因为直接在源代码中显示这些数据是有意义的。在 IntelliJ IDEA 中使用“应用图形”操作或在 JProfiler 中生成 CPU 图形以在 IntelliJ IDEA 中显示 CPU 数据。要配置高级参数,如线程选择或使用调用树根、调用树移除和调用树视图过滤器设置,您应该在 JProfiler 窗口中生成图形。

一旦应用了 CPU 数据,“JProfiler”选项卡将显示记录的方法列表。双击方法将带您到源代码。在源代码编辑器的边缘,添加了用于传入和传出调用的箭头。

单击边缘图标会在弹出窗口中显示传入或传出方法,以及显示记录时间的条形图。单击弹出窗口中的行将导航到相应的方法。

此外,目标方法的总记录时间和调用次数将显示在弹出窗口的底部。弹出窗口右下角的“在 JProfiler 中显示”下拉菜单提供上下文相关的导航操作到 JProfiler UI。您可以在方法图中显示选定的节点或相应的调用树分析。对于传出调用,提供“累积传出调用”分析,对于传入调用,提供“回溯”分析。

同样的导航操作也可以在“JProfiler”选项卡中的方法表的上下文菜单中使用:

JProfiler 插件提供了一个工具栏快速操作,用于“使用 JProfiler 附加到 JVM”操作,您可以将其添加到主工具栏。通过该操作,您可以附加到已经运行的进程,并仍然从 JProfiler UI 到 IntelliJ IDEA 获取源代码导航,以及在源代码编辑器中内联 CPU 图形数据:

这是添加后操作按钮的外观:

JProfiler 中所有操作的键绑定可以在 IntelliJ IDEA 的“键映射”设置中自定义。鉴于非冲突键盘快捷键的有限可用性,从源代码编辑器到 JProfiler UI 的导航操作是链式快捷键,您首先按Ctrl-Alt-Shift-O,然后按另一个键选择导航操作。如果您经常使用此功能,您可能希望分配更简单的键盘快捷键。

在 IDE 设置的工具->JProfiler页面上,您可以调整使用的 JProfiler 可执行文件以及是否总是希望在 JProfiler 中为新的分析会话打开一个新窗口。

Eclipse 集成

eclipse 插件可以分析大多数常见的启动配置类型,包括测试运行配置和 WTP 运行配置。eclipse 插件仅适用于完整的 eclipse SDK,而不适用于 eclipse 框架的部分安装。

要从 eclipse 分析您的应用程序,请在运行菜单中选择一个分析命令或单击相应的工具栏按钮。分析命令等同于 eclipse 中的调试和运行命令,是 eclipse 基础设施的一部分,除了运行→附加 JProfiler 到 JVM菜单项,这是由 JProfiler 插件添加的。

如果 Java 透视图中不存在菜单项运行→分析...,请在窗口→透视图→自定义透视图下启用此透视图的“分析”操作,通过将操作集可用性选项卡置于前面并选择分析复选框。

包括 JProfiler 可执行文件位置在内的多个 JProfiler 相关设置可以在 eclipse 的窗口→首选项→JProfiler下进行调整。

VS Code 集成

VS Code 扩展添加了一个操作启用 JProfiler 分析。调用时,调试和运行操作将启动 Java 启动配置的分析。JProfiler 将启动,并显示会话启动对话框,您可以在其中配置分析设置。确认会话启动对话框后,应用程序将启动。

使用禁用 JProfiler 分析操作,恢复运行和调试操作的默认行为。有关分析模式更改的通知将作为编辑器右下角的 toast 消息显示在 VS Code 中。启用 JProfiler 分析禁用 JProfiler 分析具有相同的默认键绑定,因此可以用于切换分析模式。

要分析已运行的 JVM,请使用附加到正在运行的 JVM 并使用 JProfiler 分析操作。

JProfiler 中的源代码导航操作将在 VS Code 中显示相应的源代码。要在 VS Code 中获取 JProfiler 快照的源代码导航,请在 VS Code 中使用文件→打开打开快照。

NetBeans 集成

在 NetBeans 中,您可以分析使用 exec Maven 插件的标准、自由格式和 Maven 项目。要从 NetBeans 分析您的应用程序,请在运行菜单中选择一个分析命令或单击相应的工具栏按钮。对于以其他方式启动应用程序的 Maven 项目和 Gradle 项目,请正常启动项目并使用菜单中的分析→附加 JProfiler 到正在运行的 JVM操作。

对于自由格式项目,您必须先调试一次应用程序,然后再尝试分析它,因为所需的文件nbproject/ide-targets.xml是由调试操作设置的。JProfiler 将向其添加一个名为“profile-jprofiler”的目标,其内容与调试目标相同,并将尝试根据需要修改 VM 参数。如果您在分析自由格式项目时遇到问题,请检查此目标的实现。

您可以使用集成的 Tomcat 或在 NetBeans 中配置的任何其他 Tomcat 服务器分析 Web 应用程序。当您的主项目是 Web 项目时,选择使用 JProfiler 分析主项目将启动启用分析的 Tomcat 服务器。

如果您使用带有捆绑 GlassFish 服务器的 NetBeans,并且您的主项目设置为使用 GlassFish 服务器,选择使用 JProfiler 分析主项目将启动启用分析的应用服务器。

JProfiler 可执行文件的位置和打开新 JProfiler 窗口的策略可以在选项对话框中的杂项→JProfiler下进行调整。