JProfiler帮助文档

JProfiler中的脚本


JProfiler内置的脚本编辑器允许你在JProfiler GUI的各个地方输入自定义逻辑, 包括自定义探针配置、拆分方法、堆遍历器过滤器等等。

编辑区上方的方框显示了脚本的可用参数以及它的返回类型。通过调用菜单中的 帮助->显示Javadoc概述,你可以获得 com.jprofiler.api.* 包中类的更多详情。

一些包可以在不使用完全限定的类名的情况下使用。这些包是:

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

你可以把一些导入语句作为文本区域的第一行,以避免使用完全限定的类名。

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

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

脚本类型

脚本可以是表达式。表达式没有尾部的分号,并且评估为所需的返回类型。例如

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

将作为堆遍历器的传出引用视图中的过滤脚本。

也可以,一个脚本由一系列Java语句组成,最后一条语句是所需返回类型的返回语句:

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

上面的例子可以用于脚本遥测。JProfiler会自动检测你输入的是表达式还是脚本。

如果你想重用之前输入的脚本,你可以从脚本历史中选择它。如果你点击 显示历史 工具栏按钮,所有以前使用过的脚本都会显示出来。脚本按脚本签名组织,默认选择当前脚本签名。

代码补全

CTRL-Space ,会弹出一个代码补全提示弹窗。另外,输入一个点(".")并且延迟一会后如果没有输入其他字符, 也会显示该弹窗。该延迟时间可在编辑器设置中配置。在弹出窗口显示时,你可以继续输入或使用Backspace删除字符, 弹出窗口将相应更新。支持"驼峰"补全。例如,输入NPE ,点击CTRL-Space , 推荐的类中将包含java.lang.NullPointerException。 如果你接受一个没有自动导入的类,将插入完全限定名。

补全弹窗可以提示:

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

参数的类,如果既不包含在配置的会话类路径中,也不包含在配置的JDK中,就会被标记为[unresolved] , 并改为通用的java.lang.Object 类型。为了能够对这样的参数调用方法,并为其获取代码补全, 请在应用程序设置中的类路径中添加缺少的JAR文件。

问题分析

你输入的代码会被分析并检查是否有错误和警告条件。错误在编辑器中显示为红色下划线,在右边的边列中显示为红色条纹。 警告,如未使用的变量声明,在编辑器中显示为黄色背景,在边列中显示为黄色条纹。将鼠标悬停在编辑器中的错误或警告上, 或将鼠标悬停在边列的条纹上,都会显示错误或警告信息。

如果代码中没有警告或错误,右边列顶部的状态指示为绿色,如果有警告则为黄色,如果发现错误则为红色。 你可以在编辑器设置中配置问题分析的阈值。

如果对话框右上角的边列图标是绿色的,那么你的脚本将被编译,除非你在编辑器设置中禁用了错误分析。 在某些情况下,你可能想尝试真正的编译。选择菜单中的代码->测试编译将编译该脚本 并在一个单独的对话框中显示任何错误。在保存脚本时使用 好的 按钮不会测试脚本的语法正确性,除非马上使用该脚本。

键绑定

SHIFT-F1 ,会在浏览器中打开Javadoc页面,描述光标位置的元素。 只有在常规设置中为代码编辑器配置了具有有效Javadoc位置的JDK,才能显示Java运行时库的Javadoc。

Java代码编辑器中的所有键绑定都是可配置的。从窗口菜单中选择 设置->键映射 以显示键映射编辑器。键绑定保存在文件$HOME/.jprofiler12/editor_keymap.xml 。 这个文件只有在复制了默认的键映射时才存在。当把JProfiler安装迁移到不同的计算机时,可以复制这个文件来保存键绑定。