実行されたクエリの数をカウントし、特定の制限を超えた場合にデータベースに何かを書き込むようにフィルターを設定しました。
私の開発環境では問題なく動作しますが、実稼働環境でテストすると、データベースがプロファイラーを返さなくなりました。開発環境用のデータベース プロファイラーを有効にする設定だと思いますが、見つけられないようです。
私は Symfony1.4 と Doctrine を使用しています。
$database = $databaseManager->getDatabase($name);
if ($database instanceof sfDoctrineDatabase && $profiler = $database->getProfiler())
{
$events = $profiler->getQueryExecutionEvents();
}