JProfiler帮助文档

JProfiler 中的脚本

JProfiler 的内置脚本编辑器允许您在 JProfiler GUI 的多个位置输入自定义逻辑,包括自定义探针 (probe) 配置、拆分方法、Heap Walker 过滤器等。

编辑区域上方的框显示了脚本的可用参数及其返回类型。通过从菜单中调用 Help→Show Javadoc Overview,您可以获取有关 com.jprofiler.api.* 包中各类的更多信息。

有多个包无需使用完全限定类名即可直接使用。这些包包括:

  • java.util.*
  • java.io.*

您可以在文本区域的前几行放置若干 import 语句,以避免使用完全限定类名。

所有脚本都会传入一个 com.jprofiler.api.agent.ScriptContext 实例,允许您在脚本的连续调用之间保存状态。

为了获得最完整的编辑器功能,建议在常规设置中配置 JDK。默认情况下,将使用运行 JProfiler 所用的 JRE。在这种情况下,代码补全不会提供 JRE 中各类的参数名称和 Javadoc。

脚本类型

脚本可以是表达式。表达式末尾没有分号,并且其计算结果符合所需的返回类型。例如,

object.toString().contains("test")

可以作为 Heap Walker 传出引用视图 (view) 中的过滤脚本使用。

或者,脚本可以由一系列 Java 语句组成,并将符合所需返回类型的 return 语句作为最后一条语句:

import java.lang.management.ManagementFactory;
return ManagementFactory.getRuntimeMXBean().getUptime();

上面的示例可用于脚本遥测 (telemetry)。JProfiler 会自动检测您输入的是表达式还是脚本。

如果您想要复用之前输入的脚本,可以从脚本历史记录中选择。点击工具栏上的  Show History 按钮,即可显示所有先前使用过的脚本。脚本按脚本签名进行组织,并且默认选中当前的脚本签名。

代码补全

按 CTRL-Space 会调出包含代码补全建议的弹出窗口。此外,键入点号(".")后,如果在延迟时间内未键入其他字符,也会显示此弹出窗口。该延迟时间可在编辑器设置中配置。在弹出窗口显示期间,您可以继续键入或使用 Backspace 删除字符,弹出窗口将相应更新。支持“驼峰”(Camel-hump)补全。例如,键入 NPE 并按 CTRL-Space 将在候选类中建议 java.lang.NullPointerException。如果接受了未自动导入的类,则会插入其完全限定名称。

自动补全弹出窗口可以提供以下建议:

  • 变量和脚本参数。脚本参数以粗体显示。
  • 包(在键入 import 语句时)
  • 类
  • 字段(当上下文为类时)
  • 方法(当上下文为类或方法的参数列表时)

如果参数所属的类既不包含在已配置的会话 (session) 类路径 (classpath) 中,也不包含在配置的 JDK 中,它们将被标记为 [unresolved] 并更改为通用的 java.lang.Object 类型。要在这些参数上调用方法并获取其代码补全,请在应用程序设置中将缺失的 JAR 文件添加到类路径 (classpath) 中。

问题分析

您输入的代码会实时进行分析,并检查是否存在错误和警告情况。错误在编辑器中显示为红色下划线,并在右侧装订线 (gutter) 中显示为红色条纹。诸如未使用的变量声明等警告在编辑器中显示为黄色背景,并在装订线 (gutter) 中显示为黄色条纹。将鼠标悬停在编辑器的错误或警告上,或悬停在装订线区域的条纹上,都会显示相应的错误或警告信息。

如果代码中没有警告或错误,右侧装订线 (gutter) 顶部的状态指示器为绿色;如果存在警告,则为黄色;如果发现错误,则为红色。您可以在编辑器设置中配置问题分析的阈值。

如果对话框右上角的装订线 (gutter) 图标为绿色,则您的脚本将能够成功编译,除非您在编辑器设置中禁用了错误分析。在某些情况下,您可能希望尝试实际编译。从菜单中选择 Code→Test Compile 将编译脚本并在单独的对话框中显示所有错误。通过 OK 按钮保存脚本时,不会测试脚本的语法正确性,除非该脚本立即被使用。

按键绑定

按下已配置键映射(默认 IntelliJ 键映射中为 Ctrl+Q)的“Show Javadoc”快捷键,将在浏览器中打开描述光标位置元素的 Javadoc 页面。仅当在常规设置中为代码编辑器配置了包含有效 Javadoc 位置的 JDK 时,才能显示 Java 运行时库 (library) 的 Javadoc。

Java 代码编辑器中的所有按键绑定均可配置。从窗口菜单中选择 Settings→Keymap 可显示键映射编辑器。按键绑定保存在文件 $HOME/.jprofiler16/keymaps.xml 中。仅当默认键映射被复制后,此文件才会存在。在将 JProfiler 安装迁移到另一台计算机时,您可以复制此文件以保留您的按键绑定。