Telemetries——遥测数据
分析的一个方面是监视随时间的标量测量,例如使用的堆大小。在JProfiler中,这种图形称为遥测。通过观察遥测,您可以更好地了解配置文件,允许您将重要事件与不同测量值相关联,并且如果发现意外行为,可能会提示您使用JProfiler中的其他视图进行更深入的分析。
一、Standard telemetries
在JProfiler UI的“VM遥测”部分中,默认记录了许多遥测。对于交互式会话,它们始终处于启用状态,您无需启动或停止录制。
为了比较同一时间轴上的多个遥测,概览显示了多个小规模遥测,彼此之间具有可配置的行高。单击遥测标题可激活完整的遥测视图。
完整视图显示具有当前值的图例,并且可能具有比概览中可见的选项更多的选项。例如,“Memory”遥测允许您选择单个内存池。
探测器还发布了遥测技术。这些遥测未包含在“遥测”视图部分中,但是是相应探测的“遥测”选项卡的一部分。这些遥测的记录与其父探针的记录相关联。
最后,有“跟踪”遥测数据监视在另一个视图中选择的标量值。例如,类跟踪器视图允许您选择一个类并监视其实例计数。此外,每个探针都有一个“跟踪器”视图,其中监视选定的热点或控制对象。
二、Bookmarks
JProfiler维护所有遥测中显示的书签列表。在交互式会话中,您可以通过单击“ 添加书签”工具栏按钮或使用上下文菜单中的“在此添加书签”功能,在当前时间添加书签。
书签不仅可以手动创建,还可以通过录制操作自动添加,以指示特定录制的开始和结束。使用触发器操作或使用控制器API,您可以以编程方式添加书签。
书签具有颜色,线条样式以及在工具提示中显示的名称。您可以编辑现有书签并更改这些属性。
如果右键单击遥测中的多个书签太不方便,可以使用菜单中的“性能 *分析” – >“编辑书签”*操作来获取书签列表。这也是您可以将书签导出为HTML或CSV的地方。
三、Custom telemetries
有两种方法可以添加自己的遥测:您可以在JProfiler UI中编写脚本以提供数值,也可以选择数字MBean属性。
要添加自定义遥测,请单击“遥测”部分中显示的“ *配置遥测”*工具栏按钮。在脚本遥测中,您可以访问在当前JProfiler会话的类路径中配置的所有类。如果没有直接获得值,请向应用程序添加一个静态方法,您可以在此脚本中调用该方法。
上面的示例显示了对平台MBean的调用。使用MBean遥测可以更方便地绘制MBean的标量值。在这里,MBean浏览器允许您选择合适的属性。属性值必须为数字。
您可以将多条遥测线捆绑到一个遥测中。这就是为什么配置分为两部分:遥测本身和遥测线。在遥测线路中,您只需编辑数据源和线路标题,在遥测中您可以配置适用于所有包含线路的单位,比例和堆叠。
在堆叠遥测中,单个遥测线是附加的,并且可以显示区域图。比例因子可用于将值转换为支持的单位。例如,如果数据源报告kB,则问题是JProfiler中没有匹配的“kB”单元。如果将比例因子设置为-3,则将值转换为字节,并通过选择“字节”作为遥测的单位,JProfiler将自动在遥测中显示相应的聚合单位。
自定义遥测在“遥测”部分的末尾按其配置顺序显示。
开销考虑因素
乍一看,遥测似乎随时间线性消耗内存。但是,JProfiler会合并较旧的值并使它们逐渐变得更粗粒度,以限制每次遥测所消耗的内存总量。
遥测的CPU开销受限于它们的值仅每秒轮询一次的事实。对于标准遥测,此数据收集没有额外的开销。对于自定义遥测,开销由底层脚本或MBean控制。