DTraceとは?
でぃーとれーす
DTraceとはOSのカーネルからアプリケーションまで動的にトレースできる高機能なパフォーマンス解析・デバッグツールです。
DTraceは、Sun Microsystemsが2004年にSolaris 10向けに開発した動的トレーシングフレームワークです。その後MacOS X(現macOS)・FreeBSD・Linuxにも移植され、システム全体を網羅的に観測できるツールとして高く評価されています。
最大の特徴は安全性を保ちながら本番環境で動作できる点です。DTraceはD言語という独自のスクリプト言語でプローブ(観測点)を記述します。スクリプトはカーネル内の安全性検証機構を通過してから実行されるため、システムをクラッシュさせるリスクが非常に低いです。
観測できる対象は非常に広範囲にわたります。
- カーネルの内部動作(システムコール・スケジューラ・ネットワークスタック)
- ユーザー空間アプリケーション(関数の呼び出しと戻り)
- Java・Ruby・Pythonなど動的言語のランタイム(USDT経由)
- ディスクI/O・ロック競合・メモリアロケーション
BPF/eBPFが普及した現在のLinux環境ではDTraceの役割はBPFツール群が担うことも多いですが、macOSではDTraceが今なお標準的なシステムトレースツールとして位置づけられており、IOSnoop・opensnoop・execsnoopなど多くのフロントエンドツールがDTraceを基盤として動作しています。
使い方・例文
macOSでどのプロセスがどのファイルを開いているか監視したいとき、DTraceを使うと数行のスクリプトでシステム全体のopen()システムコールをリアルタイムに観測できます。
この用語をシェア
最終更新: