1.3 DTraceのプロバイダについて

次の表に、DTraceのOracle Linux実装に含まれているプロバイダ、およびプロバイダが含まれているカーネル・モジュールを示します。

プロバイダ

dtraceカーネル・モジュール

説明

dtrace

dtrace

DTrace自体に関連するプローブを提供します(BEGINERRORENDなど)。 これらのプローブを使用して、トレースの開始前にDTraceの状態を初期化し、トレースの完了後にその状態を処理して、他のプローブでの予期しない実行エラーを処理できます。

fbt

fbt

カーネル関数の入力および終了にある関数境界トレース(FBT)プローブをサポートします。

fasttrap

fasttrap

DTrace対応のアプリケーションによるユーザー・スペース・トレースをサポートします。

io

sdt

データの入力および出力に関連するプローブを提供します。 ioプロバイダを使用すると、I/O監視によって監視される動作を迅速に検索できます。

IP

sdt

IPプロトコル(IPv4とIPv6の両方)のプローブを提供します。

lockstat

sdt

mutexes、読取り/書込みロック、spinlockなどのロック・イベントのプローブを提供します。

perf

sdt

型指定された引数を含む各perfトレース・ポイントに対応するプローブを示します。

proc

sdt

プロセスの作成と終了の監視、LWPの作成と終了の監視、新しいプログラムの実行、およびシグナルの処理を行うためのプローブを提供します。

profile

profile

特定の実行ポイントではなく、固定および指定の時間間隔で起動する非同期割込みイベントに関連付けられたプローブを提供します。 これらのプローブを使用して、各種のシステム状態をサンプリングできます。

sched

sdt

CPUスケジューリングに関連するプローブを提供します。 CPUは、すべてのスレッドが必ず使用する単一のリソースであるため、schedプロバイダは、体系的な動作を把握するために非常に役立ちます。

syscall

systrace

すべてのシステム・コールのエントリ・ポイントおよびリターン・ポイントにプローブを提供します。 システム・コールはユーザー・レベル・アプリケーションとオペレーティング・システム・カーネルとの間の主要なインタフェースであるため、これらのプローブによって、アプリケーションとシステム間の相互作用を把握できます。

TCP

sdt

IPv4とIPv6の両方について、TCPプロトコルを実装するコード内のプローブを提供します。

UDP

sdt

IPv4とIPv6の両方に対して、UDPプロトコルを実装するコード内のプローブを提供します。

SDTは、同じプロバイダの下で複数のプロバイダを実装するという点で、マルチプロバイダとなります。

fasttrapプロバイダは、メタプロバイダとみなされます。つまり、プロバイダ・フレームワークです。 fasttrapメタプロバイダは、ユーザー領域プロセス用にインスタンス化されたプロバイダの作成を容易にするために使用されます。

プロバイダおよびそのプローブの詳細は、Oracle® Linux: DTraceガイドDTraceプロバイダを参照してください。