Awesome DTrace
DTraceを扱う資料や関連プロジェクトをまとめたAwesomeリストです。
目次
学習
DTrace を学ぶためのおすすめ資料です。
書籍
- Dynamic Tracing Guide - Illumos.org の DTrace ガイドです。
- DTrace:Oracle Solaris、Mac OS X、FreeBSD の動的トレーシング - DTrace の公式書籍です。
- DTrace と SystemTap による動的トレーシング - DTrace と SystemTap の両方を紹介する書籍です。
その他
- dtrace(1m) man ページ - DTrace のマニュアルページです。
- DTrace 早見表 - Brendan Gregg による DTrace 早見表です。
- DTrace ワンライナー - 便利な DTrace ワンライナーコマンドです。
- DTrace ワンライナー(FreeBSD) - FreeBSD の DTrace ワンライナーです。
- DTrace QuickStart - DTrace のクイックスタートガイドです。
- DTrace 利用事例 - DTrace を使ったシステムデバッグ事例集です。
- 高度な DTrace のヒント、コツ、注意点 - DTrace を使うための高度なヒント集です。
記事
DTrace と実際のユースケースに関する興味深い記事です。
PID Provider
- pid provider:entry probe - DTrace PID Provider について。
- pid provider:entry arguments - DTrace PID Provider の引数について。
- pid provider:return - DTrace PID Provider の return について。
- pid provider:instructions - DTrace PID Provider の命令について。
- pid provider:overhead - DTrace PID Provider のオーバーヘッドについて。
- pid provider の内幕 - Adam Leventhal による PID Provider の内部構造です。
- 魔法が衝突するとき - Bryan Cantrill による PID Provider のバグの詳細分析です。
USDT Provider
- DTrace ustack helper を理解する - DTrace ustack helper について。
- USDT Provider 再考 - 独自アプリケーションで USDT Provider を構築するためのリファレンスです。
Sysevent Provider
- DTrace sysevent provider - DTrace 用 Solaris/illumos sysevent provider です。
Ruby と DTrace
- DTrace で Ruby の mutex 競合を測定する - Ruby の mutex 競合を測定します。
可視化手法
- フレームグラフ - プロファイリングしたソフトウェアを可視化し、最も頻繁なコードパスを迅速かつ正確に特定できます。
- ヒートマップ - 天気レーダー図のように色を1つの次元として使い、3次元のデータを可視化できます。
動画
DTrace に関する興味深い動画です。
- DTrace レビュー - Bryan Cantrill が、DTrace によって開発環境と稼働中システム双方のデバッグを大幅に改善する方法を解説します。
dtrace.conf
ソフトウェア
DTrace 対応ソフトウェアの一覧です。
プログラミング言語
Erlang
- Erlang - DTrace と Erlang/OTP です。
Lua
- lua-usdt - Lua 用 Libusdt バインディングです。
Node.js
- node-dtrace-provider - Node.js アプリ向けのネイティブ DTrace probe です。
Perl
- perl-Devel-DTrace-Provider - libusdt の Perl ラッパーです。
PHP
- PHP - PHP と DTrace を使用します。
Python
- Python - Python 2.7.x・3.x 用 DTrace パッチです。
- python-usdt - Python 用 Libusdt バインディングです。
Ruby
データベース
- MySQL - MySQL DTrace probe です。
- PostgreSQL - PostgreSQL DTrace probe です。
Web サーバー
- mod_usdt - 「httpd」DTrace provider です。
可視化
- FlameGraph - スタックトレースの可視化ツールです。
- node-stackvis - スタックトレースの可視化ツールです。
ツール
- DTraceToolkit - 文書化された便利な DTrace スクリプト集です。
- dtrace-cloud-tools - SmartOS/SmartDataCenter クラウド(illumos ベース)向けに書かれた DTrace ツールです。
- pgsql tools - PostgreSQL のトップレベル統計を報告します。
- portsnoop - イベントポートの動作をトレースします。
- storage tools - NFS、CIFS、iSCSI の統計を報告します。
コミュニティ
- コミュニティサイト - DTrace のコミュニティサイトです。
- メーリングリスト - DTrace コミュニティのメーリングリストです。
- FreeBSD DTrace メーリングリスト - FreeBSD DTrace コミュニティのメーリングリストです。
- China DTrace - 中国語の DTrace サイトです。
コントリビューション
コントリビューションを大歓迎します。まずコントリビューションガイドラインをご覧ください。