JavaScript is required to for searching.
跳过导航链接
退出打印视图
DTrace 用户指南     Oracle Solaris 10 8/11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  简介

DTrace 功能

体系结构概述

DTrace 提供器

DTrace 探测器

DTrace 谓词

DTrace 操作

D 脚本语言

2.  DTrace 基础知识

3.  使用 D 语言编写脚本

4.  使用 DTrace

索引

体系结构概述

DTrace 工具包含下列各组件:

DTrace 提供器

提供器提供了用于检测系统的一种方法。提供器使得探测器可供 DTrace 框架使用。DTrace 向提供器发送有关探测器启用时间的信息。当某个已启用的探测器被触发时,提供器会将控制权移交给 DTrace。

提供器打包为一组内核模块。每个模块执行一种特定类型的检测来创建探测器。使用 DTrace 时,每个提供器都可以将其可提供的探测器发布到 DTrace 框架。可以启用跟踪操作并将其绑定到任意一个已经发布的探测器上。

某些提供器能够根据用户的跟踪请求新建探测器。

DTrace 探测器

探测器具有下列各项属性:

上述四项属性为每个探测器定义了一个可作为其唯一标识符的 4 元组,其格式为提供器:模块:函数:名称。每个探测器还具有一个唯一的整数标识符。

DTrace 谓词

谓词是括在斜杠 / / 内的表达式。探测器被触发时,将对谓词进行评估以确定是否应执行关联的操作。谓词是用于在 D 程序中生成更为复杂的控制流的主要条件结构。对于任意一个探测器,可以完全省略探测器的谓词部分。如果省略了谓词部分,则在触发探测器时将始终执行相应的操作。

谓词表达式可以使用前面所述的任何 D 运算符。谓词表达式会引用 D 数据对象,例如变量和常量。谓词表达式的计算结果必须是一个整数或指针类型的值。与所有 D 表达式一样,零值将解释为 false,任何非零值将解释为 true。

DTrace 操作

操作是 DTrace 虚拟机在内核中执行的可由用户编程的语句。操作具有以下特性:

D 脚本语言

对于简单函数,您可以直接从命令行使用 dtrace 命令来调用 DTrace 框架。要使用 DTrace 执行较为复杂的函数,请使用 D 脚本语言编写脚本。可以使用 -s 选项加载指定的脚本以供 DTrace 使用。有关如何使用 D 脚本语言的信息,请参见第 3 章