とれーす。
今、とってもやりたい事がある。
あるけど、毎日残業が続いて、なかなか集中出来ないなぁ。
くぅー。
それにしても、perlの検定試験があるとは…。
知らなかったよ、おじいさん、探してくれてありがとう!
面白そうとは思うものの、15,750円を払う余裕はないなぁ…。
メソッドのトレーステストするのに、どうすりゃ効率良く出来るんか考えつつ、
うっかり、Devel::DProf は、コマンドライン上でしか使えないと思い込んでて
ブラウザー経由で操作した時は、トレース出来ないんだと思ってたら。
上司と話してるうちに、perlのパスを指定してる行で設定出来るじゃんっ!と気付いた次第(笑)
#!/usr/bin/perl -d:DProf
結構、この方法、有名らしいしね。探し方が甘かったなぁ…orz
で、これをブラウザーから呼び出して実行すると、
このソースの置いてあるディレクトリ内に「tmon.out」ってファイルが出来るんだね。
あ、ちゃんとwebユーザーも書き込めるように、パーミッションを設定しないとエラります。
こんな感じで。
DProf: unable to write 'tmon.out', errno = 13
一瞬、tmon.out の出力先を変えられないかと、Devel::DProf のソース見たんだけどダメですね。
Devel::Profiler なら、output_file の設定出来そうな気配なんだけどね。
でもって、出力された tmon.out の内容を見るには
dprofpp tmon.outと実行して、と。
Total Elapsed Time = 0.06982 SecondsUser+System Time = 0.06982 Seconds
Exclusive Times
%Time ExclSec CumulS #Calls sec/call Csec/c Name
57.2 0.040 0.060 3 0.0133 0.0200 main::BEGIN
28.6 0.020 0.020 2 0.0100 0.0100 lib::BEGIN
0.00 - -0.000 1 - - Config::import
0.00 - -0.000 1 - - lib::_nativize
0.00 - -0.000 1 - - Test::new
0.00 - -0.000 1 - - Test::isTestMethod
0.00 - -0.000 1 - - strict::bits
0.00 - -0.000 1 - - Config::TIEHASH
0.00 - -0.000 1 - - lib::_get_dirs
0.00 - -0.000 2 - - Config::fetch_string
0.00 - -0.000 2 - - strict::import
0.00 - -0.000 1 - - lib::import
0.00 - -0.000 3 - - Config::FETCH
おー、ちゃんと自作のTestクラスの isTestMethod を通った事がわかりますねー。便利便利。
しかも、伊藤直也さんとこでちゃんと触れてて、…というか「Perl デバッグ」に書いてあるようで
mod_perl の場合は Apache::DProf を使うっぽいので、今度はそっちを試してみよーっと。