跳过导航链接 | |
退出打印视图 | |
DTrace 用户指南 Oracle Solaris 10 8/11 Information Library (简体中文) |
您可以通过将 -l 选项传递给 dtrace 命令来列出所有 DTrace 探测器:
# dtrace -l ID PROVIDER MODULE FUNCTION NAME 1 dtrace BEGIN 2 dtrace END 3 dtrace ERROR 4 syscall nosys entry 5 syscall nosys return 6 syscall rexit entry 7 syscall rexit return 8 syscall forkall entry 9 syscall forkall return 10 syscall read entry 11 syscall read return ...
要计算系统上所有可用的探测器数目,可以键入以下命令:
# dtrace -l | wc -l
所报告的探测器数目会根据操作平台和所安装软件的不同而有所不同。某些探测器在 MODULE 或 FUNCTION 列下没有条目列出,例如上例中的 BEGIN 和 END 探测器。在这些字段中具有空白条目的探测器不与所检测的某个具体程序函数或位置相对应。这些探测器引用更为抽象的概念,例如某个跟踪请求的末尾。名称中包含模块和函数的探测器称为固定探测器。不与模块和函数关联的探测器称为非固定探测器。
可以使用更多选项来列出特定的探测器,如下列示例所示。
示例 2-1 按特定函数列出探测器
可以通过将 -f 选项与函数名称传递给 DTrace 来列出与某特定函数关联的探测器。
# dtrace -l -f cv_wait ID PROVIDER MODULE FUNCTION NAME 12921 fbt genunix cv_wait entry 12922 fbt genunix cv_wait return
示例 2-2 按特定模块列出探测器
可以通过将 -m 选项与模块名称传递给 DTrace 来列出与某特定模块关联的探测器。
# dtrace -l -m sd ID PROVIDER MODULE FUNCTION NAME 17147 fbt sd sdopen entry 17148 fbt sd sdopen return 17149 fbt sd sdclose entry 17150 fbt sd sdclose return 17151 fbt sd sdstrategy entry 17152 fbt sd sdstrategy return ...
示例 2-3 按特定名称列出探测器
可以通过将 -n 选项与名称传递给 DTrace 来列出与某特定名称关联的探测器。
# dtrace -l -n BEGIN ID PROVIDER MODULE FUNCTION NAME 1 dtrace BEGIN
示例 2-4 按启动点提供器列出探测器
您可以通过将 -P 选项与提供器名称传递给 DTrace 来列出从某特定提供器启动的探测器。
# dtrace -l -P lockstat ID PROVIDER MODULE FUNCTION NAME 469 lockstat genunix mutex_enter adaptive-acquire 470 lockstat genunix mutex_enter adaptive-block 471 lockstat genunix mutex_enter adaptive-spin 472 lockstat genunix mutex_exit adaptive-release 473 lockstat genunix mutex_destroy adaptive-release 474 lockstat genunix mutex_tryenter adaptive-acquire ...
示例 2-5 支持某个特定函数或模块的多个提供器
一个特定的函数或特定的模块可能受多个提供器支持,如下例所示。
# dtrace -l -f read ID PROVIDER MODULE FUNCTION NAME 10 syscall read entry 11 syscall read return 4036 sysinfo genunix read readch 4040 sysinfo genunix read sysread 7885 fbt genunix read entry 7886 fbt genunix read return
如上例所示,针对探测器的列出命令的输出显示了以下信息:
为探测器分配的唯一整数探测器 ID
注 - 探测器 ID 在给定的 Solaris 操作系统发行版或修补级别中是唯一的。
提供器名称
模块名称(如果适用)
函数名称(如果适用)
探测器名称