2014/01/04

[Symfony2]プロファイラーのタイムラインへの独自項目追加方法

Symfony2 では xdebug を導入しなくても、簡易なプロファイラーを利用できます。

"タイムライン"で各処理が消費した時間を見ることができるのですが、コントローラーから呼び出された各処理については自動で時間を取得してはくれません。

Symfonyで提供しているプロファイラーのタイムライン

・・・というわけで独自項目をタイムラインへ追加する方法について調査しました。

タイムラインへの追加手順は次の通り。

  • タイムラインに追加したい処理を行うオブジェクトに "debug.stopwatch" を DI
  • $stopWatch = $this->get('debug.stopwatch'); $event = $stopWatch->start('hogehoge'); ...(任意の処理)...; $event->stop()
こんな感じになります
残念ながらドキュメントにはこのあたり書いてないのですよね。。。

以下、調査メモ