脚本在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/.jprofiler14/editor_keymap.xml
。
这个文件只有在复制了默认的键映射时才存在。当把JProfiler安装迁移到不同的计算机时,可以复制这个文件来保存键绑定。