YAPC::Asia 2013でLT『How to inspect a RUNNING perl process』してきました&スピーカーへのお願い

YAPC::Asia 2013でLT『How to inspect a RUNNING perl process』してきました

ハングアップとかメモリバカ食いとか、稀にしか発生しないヘンテコ状態のシューティングやるには静的デバッグより、今ヘンテコ状態にあるプロセスを直接まさぐるのが手っ取り早いよねーということで、既存の手法、

  • strace
  • gdb
  • bulkdbg
  • gdbperl

に加え、拙作の inspect-perl-proc について話しました。

今のところ 3 つのことができます。

  • スタックトレースを採取する (perlのpackage名と行番号も表示されます)
  • パッケージ毎のメモリ使用量を採取する
  • %INCのダンプを採取する

キモは、コードの変更とかプロセスの再起動等々、ヘンテコ状態プロセスはいじらずそのままの状態で、外部からこれらの情報を採取できる、という点です。

Perlで書かれたWebアプリや常駐daemonの面倒をみたことがある人なら、「今動いてるこいつの状態をのぞきたい…」と思ったことが一度ならずあるはずと思うので、是非、ご活用いただければ幸甚です。

また、機構上、任意のPerlコードをターゲットのプロセス上で実行できるので、「こんなこともできるとイイネ!」というアイディアを思いついたら是非、プルリください。

YAPC::Asia 2013のスピーカーの方へ

スピーカーの人は、マイページ

から自分のトークの編集画面にいって、「スライドURL」のところに公開したスライドのURLを書いて欲しいです。

自分の場合、数年前のYAPC::Asiaのトークのスライドを見たいことがちょくちょくあって、過去のYAPC::Asiaのトーク一覧ページを見るのですが、そこにスライドのURLがちゃんと書いてあると未来のだれかの手間が省けていいかなーと思います。動画のURLとかも多分、トークのページから辿れるようになると思うんで、ここにポインタまとめておくと色々捗ると思います。

YAPC::Asiaの感想

残念ながら土曜日は参加できなかったんですが、初対面の人も含めいろんな人といろんな話ができて充実した1.5日間でした。

特に、懇親会で [twitter:@gosukenator] さんとの立ち話がステキにまとめられていて参考になりました。


あとは拙作の AWS::CLIWrapper がいくつかのトークで言及されていました。こういうのって作者冥利に尽きますね。