2. Observer
2观察员
2.1简介
Observer是一个用于观察Erlang系统特性的图形工具。Observer显示系统信息,应用程序主管树,进程信息,ETS表,Mnesia表,并包含Erlang跟踪的前端。
2.2开始
从独立节点运行观察器以最小化系统观察到的影响。
例子:
% erl -sname observer -hidden -setcookie MyCookie -run observer
使用菜单节点选择要观察的节点。菜单视图>刷新间隔控制视图的更新频率。刷新间隔是为每个查看器设置的,因此您可以为每个查看器设置不同的设置。为了最小化系统影响,只更新活动查看器。其他视图在激活时更新。
鼠标按钮的行为如预期。使用左键单击选择对象,右键单击以获得使用最多的选项的菜单,然后双击以显示有关所选对象的信息。在包含多列的大多数浏览器中,可以通过左键单击列标题来更改排序顺序。
2.3系统标签
选项卡系统
显示关于活动的Erlang节点及其运行时系统
的一般信息,例如生成配置,系统
功能和总体使用统计信息。
2.4负荷图表选项卡
Tab Load Charts
显示活动Erlang节点上当前资源使用情况的图形。
图Scheduler Utilization
显示了每个调度程序的调度程序使用情况,其中每个调度程序使用的都是唯一的颜色。
图表Memory Usage
显示了每个类别具有唯一颜色的总内存使用情况和每个内存类别的使用情况。类别如下:
Total
所有内存类别的总和。
Processes
使用的所有进程内存之和。
Atom
原子表使用的大小。
Binary
分配的所有off-heap二进制文件的总和。
Code
分配给代码存储的内存。
Ets
用于所有ETS表的已用内存。
图形IO Usage
显示了系统当前的I/O负载。
2.5内存分配器选项卡
标签内存分配器
显示载体大小和当前内存载体的详细信息。有关内存载体的详细信息,请参阅erts_alloc
应用程序ERTS中的模块。
Max Carrier size
列显示自从最后一个节点更改或应用程序启动以来观察者看到的最大值,即切换节点将重置最大列。对数值进行采样,以便可能存在比所示值更高的值。
2.6申请表格
选项卡应用程序
提供应用程序
信 在左侧列表中选择一个应用程序
以显示其主管树。树中的右键单击选项如下所示:
过程信息
打开所选进程的详细信息窗口,包括:
处理信息
显示过程信息。
讯息
显示进程消息。
字典
显示进程字典。
堆栈跟踪
显示进程当前堆栈跟踪。
国家
显示进程状态。
原木
如果启用并可用,则显示流程SASL日志条目。
跟踪过程
将选定的进程标识符添加到选项卡。跟踪概述
加上进程驻留的节点。
跟踪命名过程
添加进程的注册名称。当在许多节点上进行跟踪时,这可能很有用,因为使用该名称的进程随后会在所有跟踪节点上进行跟踪。
跟踪过程树
将选定的进程和下面的所有进程添加到选项卡Trace Overview中
。
跟踪命名过程树
将选定的进程和下面的所有进程(右)添加到选项卡中。跟踪概述
...
2.7进程选项卡
标签过程
在列中列出处理信息。对于每个进程,将显示以下信息:
PID
进程标识符。
红人
在此过程中执行的削减数。这可以表示为累积值,也可以表示为上次更新后的值。
记忆
进程的大小,以字节为单位,通过调用获得process_info(Pid,memory)
。
MsgQ
进程的消息队列长度。
期权过程信息
在鼠标指针下打开进程上的详细信息窗口,包括:
处理信息
显示过程信息。
讯息
显示进程消息。
字典
显示过程字典。
堆栈跟踪
显示进程当前堆栈跟踪。
状态
显示进程状态。
原木
如果启用并可用,则显示流程SASL日志条目。
注
日志需要应用程序SASL在观察节点上启动,并使用log_mf_h日志处理程序。Observed节点必须是Erlang / OTP R16B02或更高版本。该rb服务器不能点击菜单时所观察到的节点上启动日志>切换日志查看。rb退出或更改观察节点时,服务器在观察节点上停止。
选项跟踪选定的进程
将选定的进程标识符添加到选项卡跟踪概览
以及进程驻留的节点。
选项跟踪通过名称选择的进程
添加进程
的注册名称。当在多个节点上完成跟踪时,这可能很有用,因为具有该名称的进程
会在所有跟踪的节点上进行跟踪。
选项杀死进程
通过发送带有原因的退出信号,粗暴地杀死鼠标指针下的进程kill
。
2.8端口标签
标签港口
在列中列出端口信息。对于每个端口,将显示以下信息:
ID
端口标识符。
连通
拥有端口的进程的进程标识符。
名称
港口的注册名称(如有的话)。
控制
通过设置的命令的名称erlang:open_port/2
。
槽
端口的内部索引。
选项端口信息
在鼠标指针下打开端口
的详细信息窗口。除上述信息外,还显示链接和监视器。
选项跟踪所选端口
将选定的端口标识符以及端口所在的节点添加到选项卡跟踪概览
。
选项按名称跟踪选定的端口
将端口
的注册名称
添加到选项卡跟踪概览
。当在许多节点上完成跟踪时,这可能很有用,因为具有该名称
的端口
随后会在所有跟踪的节点上进行跟踪。
选项关闭
erlang:port_close/1
在鼠标指针下的端口上执行。
2.9表查看器选项卡
选项卡表查看器
列出表格。默认情况下,显示ETS表,而不显示由OTP应用程序创建的不可读专用ETS表和表。使用菜单视图
查看“系统”ETS表,不可读的ETS表或Mnesia表。
双击查看表格内容,或者右键单击并选择选项Show Table Content。要查看表格信息,选择表格并激活菜单视图>表格信息,或者右键单击并选择选项表格信息。
您可以使用regular expressions
和搜索对象,并编辑或删除它们。
2.10跟踪总览标签
选项卡跟踪概览
处理跟踪。通过选择要跟踪的进程或端口以及如何跟踪它们来跟踪。对于流程,您可以跟踪消息,函数调用,调度,垃圾收集和处理相关事件,例如spawn
,exit
和其他许多人。对于端口,您可以跟踪消息,计划和端口相关事件。
要跟踪函数调用,还需要设置跟踪模式
。跟踪模式
选择要跟踪的函数调用。跟踪功能调用的数量可以通过匹配规格
进一步减少。匹配规格
也可用于触发跟踪消息中的更多信息。
您还可以在消息上设置匹配规格。默认情况下,如果跟踪消息,则跟踪由进程或端口发送和/或接收的所有消息。匹配规范可用于减少跟踪消息的数量和/或触发跟踪消息中的更多信息。
注
跟踪模式仅适用于跟踪的进程和端口。
从“ 应用程序”
或“ 进程”
选项卡添加进程
。端口
从端口
选项卡添加。一个特殊的新
标识符,即在跟踪启动后启动的所有进程
或端口
,可以添加按钮分别添加'新'进程
和添加'新'端口
。
添加进程或端口
时,会显示带有跟踪选项的窗口。选定的选项为所选进程/端口
设置。要更改选项,请右键单击进程或端口
并选择编辑进程选项
。要从列表中删除进程
或端口
,请右键单击并分别选择“ 删除进程”
或“ 删除端口”
。
由进程/端口标识符添加的进程和端口添加这些进程/端口驻留在节点
列表中的节点
。通过单击添加节点
按钮或右键单击节点
列表并选择添加节点
,可以添加更多节点
。要删除节点
,请选择它们,然后右键单击并选择删除节点
。
如果追踪函数调用,则必须通过单击添加追踪模式添加追踪模式
。选择一个模块,功能和匹配规格。如果未选择功能,则会跟踪模块中的所有功能。
追踪消息也可以添加追踪模式。点击添加跟踪模式
按钮并选择发送的消息
或收到的消息
,以及匹配规范。
工具中提供了一些基本的匹配规格,您可以提供自己的匹配规格。在中描述了匹配规范的语法ERTS User's Guide
。为了简化匹配规范的编写,他们也可以写成fun/1
。有关详细信息,请参阅ms_transform
应用程序STDLIB中的模块。
单击按钮开始追踪以开始追踪。默认情况下,跟踪输出被写入新窗口。当窗口关闭时,或者单击“ 停止跟踪”按钮时,跟踪停止。跟踪输出可以通过菜单选项>输出来改变。跟踪设置(包括匹配规范)可以保存到文件或从文件加载。
有关跟踪的详细信息,请参阅dbg
应用程序Runtime_Tools ERTS User's Guide
中的模块ms_transform
以及应用程序STDLIB 中和模块中的“匹配Erlang中的规范”一节。