DTraceをインストールするにはどうすればよいですか?


20

グーグルは、DTraceがLinuxで利用可能であることを示唆していますが、それをインストールする方法として指示を見つけることができません。

DTraceは、包括的な動的トレースフレームワークです。ユーザーがアプリケーションとOS自体を調整およびトラブルシューティングできるように、運用上の洞察を提供するように設計されています。本番環境での使用を安全にするために特別な考慮が払われています。たとえば、トレースが進行中の場合、最小限のプローブ効果があり、無効なプローブに関連するパフォーマンスへの影響はありません。有効にできるDTraceプローブは数万個あるため、これは重要です。

回答:


15

gitを使用するか、ここからdtraceのいくつかのバージョンをダウンロードしてください。私はこれらのインストール手順を見つけました:

git clone "https://github.com/dtrace4linux/linux.git" dtrace
cd dtrace
tools/get-deps.pl
make all 
make install
sudo make load

サイドノート: ブレーンストーミングに関するコメントでは、次の3つでも同じことができると主張しています。


興味深い質問-このウェブリンクは、dtraceは「debian」(別名ubuntu?)では利用できないと言っています-リンクされた命令よりも最新です。 webcache.googleusercontent.com/...
fossfreedom

ここでのブレインストームに関する最後のコメントを参照してください:brainstorm.ubuntu.com/idea/4971問題はありませんが、Ubuntuで使用できます。
Rinzwind

わかりました-OPがこれをテストすることを願っています-私から+1。
fossfreedom

また、この1つを見つけましたbrainstorm.ubuntu.com/idea/11463 ptrace、utrace、およびsystemtapが代替として編集されました(これらも試してみませんでした;))
Rinzwind

。build / config.sh; \ mkdir -p "" / usr / lib / dtrace / $ CPU_BITS; \ rm -f "" /usr/lib/dtrace/types.d; \ mkdir -p "" / usr / sbin /; \ install -m 4755 -o root build / dtrace "" / usr / sbin / dtrace; \ install -m 644 -o root build / drti.o "" /usr/lib/dtrace/$CPU_BITS/drti.o mkdir:ディレクトリ '/ usr / lib / dtrace'を作成できません:許可が拒否されましたインストール:通常のファイルを作成できません'/ usr / sbin / dtrace':許可されていないインストール:通常のファイル '/usr/lib/dtrace/64/drti.o'を作成できません:そのようなファイルまたはディレクトリがありませんmakefile:110:ターゲット 'install'のレシピはmakeに失敗しました: *** [インストール]エラー1
gtzinos

14

1

sytemtap-sdt-devパッケージを見つけました。端末タイプから:

sudo apt-get install systemtap-sdt-dev

このパッケージはを提供しますdtrace

名前dtraceには理由がありますが、元のの名前とまったく同じではないことに注意してくださいSolaris。おそらくいくつかのことができますが、すべてではありません。

2

コンパイルを気にしないのであればdtrace、Paul Foxによるポートがより完全な機能バージョンです:ftp :
//crisp.dyndns-server.com/pub/release/website/dtrace/

ビルドは非常に簡単です。READMEを参照してください。

3

Oracleポートもあります。しかし、私はそれをテストしておらず、推奨ません。どうやら、Paul Foxポートをプローブするのは約0.1パーセントだけです。

$ dtrace -l | wc -l
394267

皮肉なのは、の原作Oracle者が購入したためです。SundtraceSolaris

4

Linux-dtraceには(元の)Solaris-dtraceが提供するユーザースペース機能がいくつかないことに注意してください。したがって、Node.jsのプロファイリングなど、dtraceの特定の使用は、dtraceのclone、fork、またはimmitationを使用して、不可能ではないにしても複雑になります。


5
確かに、「SystemTapの-SDT-devの」中のバージョンは「-n」オプションをサポートしていません
Erelシーガル-Halevi
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.