Plack::Middleware::Profiler::NYTProfでプロファイリング。

Amon2を使ってサービスでも作ろうかと色々やってみてるんですが、ページによって重かったりするので、どこが重い(時間がかかってる)のがちょいと調査。

my $app = builder {
    # ... 省略 ...
    enable 'Plack::Middleware::Profiler::NYTProf';

    MyApp::Web->to_app();
};

builder に追加して、ページにアクセス。
するとnytprof.*****.outみたいなファイルが作成される。
そのままだと見れないので、htmlの生成

nytprofhtml -f nytprof.*****.out -o static/prof

-f で読み込むファイルを指定
-o で出力先のdirを指定

で、/prof/index.htmlにアクセスすれば、なんとなくどの辺りで詰まってるかわかる。