APD(Advanced PHP Debugger)、便利ですよね。
APD の使い方について書いてあるページは多々あれど、pprofp についてはあまり触れられていなかったので、手前味噌ですが pprofp -h を日本語訳+捕捉してみました。
書式(APD ver. 0.9):
pprofp <オプション> <解析するファイル>
並び順を指定するオプション:
-a クラス、関数名のアルファベット順に表示する
-l 関数の呼び出し回数順に表示する
-m 関数呼び出し中のメモリ使用量順に表示する
-r 関数の実際の処理時間(real time)順に表示する
-R 関数の実際の処理時間順に表示する(子関数−関数内での関数呼び出し−の処理時間も含む)
-s 関数のシステムモードでの処理時間(system time)順に表示する
-S 関数のシステムモードでの処理時間順に表示する(子関数の処理時間も含む)
-u 関数のユーザモードでの処理時間(user time)順に表示する
-U 関数のユーザモードでの処理時間順に表示する(子関数の処理時間も含む)
-v 関数の平均処理時間順に表示する
-z 関数のユーザモード、システムモードの処理時間の合計順に表示する(省略時のデフォルト)
表示形式についてのオプション:
-c 関数のコールツリーの横に実際の経過時間をつけて表示する(-t または -T とともに指定)
-i PHP ビルトイン関数を出力に含めない
-O <数値> 関数のリスト表示で最大何個の関数まで表示するか(デフォルトは 15 個)
-t 関数のコールツリーを短縮して表示する
-T 関数のコールツリーを短縮せず表示する
– – – –
捕捉:
処理を追う場合はコールツリー(-t あるいは -T)を使うと便利です。
-t と -T の違いは、
-T は
doSomething
define
define
define
define
echo
のように、同じ関数呼び出しが続いた場合もそのまま表示しますが、-t にすると
doSomething
define (4x)
echo
のように、連続する関数呼び出しを一行に縮めて表示することで出力を短縮します。
参考:
– PHP用デバッガ