Catalyst::Plugin::DumpRequired
fastcgi(Catalyst,perl)+lighttpdでよくウェブアプリをつくるのですが
Copy on Writeの恩恵を受け、メモリを節約するために、
fastcgiの親プロセスで網羅的にperlモジュールを読み込んでおき、
子プロセスの親プロセスとで共有するメモリを増やしたくなります。
子プロセスでどんなモジュールをrequireしてるのか?
がわかればMyApp.pmでuseしておくことで親プロセスで読み込めます。
それをわかりやすくするためのCatalystプラグインを作りました。
MyApp.pmで
PLAIN TEXT
PERL:
__PACKAGE__->setup(do {
my @plugins;
push @plugins, 'StackTrace', 'DumpRequired' if $ENV{CATALYST_DEBUG};
@plugins;
});
とかするといいと思います。
いろんなパスを通るようにrequest投げると $c->log->debug にrequireしたモジュールが出てきます。
以下参考にさせていただきました。
mod_perlで親プロセスとのCopy on Writeな共有メモリを増やす方法
adobemax2009でwonderflの話してきました
資料はこちら。
http://maaash.jp/adobemax2009/
デモ中心ですので資料はなんてことありませんが、
わたくしの初めてのas3作品&PV3D作品:
写真ブログパーツpixieを使用してプレゼンしましたよ。
パワポでつくって、
「ウェブページで保存」
→「JPEGファイル交換形式」でスライド全体を保存
→全部まとめてブログにアップ
→pixieのタグを貼り付け
でいい感じのプレゼン資料になりますよ
よろしければ。