アプリケーションのプロファイリング
プロファイラクラスを使うと、ベンチマーク結果、実行したクエリ、$_POST データをページの一番下に表示させることができます。 この情報は、開発中にデバッグや最適化を支援するものとして役立つものです。
クラスを初期化する
重要: このクラスは初期化する必要がありません。 下記に示すようにプロファイリングが有効になっている場合は、出力クラスで自動的にロードされます。
プロファイラを有効化する
コントローラ のメソッド内のいずれかの場所で次のメソッドを含むコードを記述すれば、プロファイラが有効になります:
$this->output->enable_profiler(TRUE);
有効化されると、レポートが生成され、ページの一番下に差し込まれます。
プロファイラを無効にするには、次の文を使います:
$this->output->enable_profiler(FALSE);
ベンチマークの観測点をセットする
ベンチマークのデータをプロファイラを使ってコンパイルし表示するには、特定の構文を使って観測点の名前を付ける必要があります。
ベンチマークの観測点設定についての情報は、ベンチマーククラス の解説ページをお読みください。
プロファイラセクションの有効化と無効化
プロファイラデータの各セクションは、対応する設定変数に TRUE または FALSE を指定する事で、有効または無効に出来ます。これには2つの方法があります。1つめは、設定ファイルの application/config/profiler.php でアプリケーション全体のデフォルトを指定する方法です。
$config['config'] = FALSE;
$config['queries'] = FALSE;
コントローラ内で出力クラスの set_profiler_sections() メソッドをコールすることで、既定値や設定ファイルの値を上書きする事も出来ます:
$sections = array(
'config' => TRUE,
'queries' => TRUE
);
$this->output->set_profiler_sections($sections);
利用可能なセクションとそれにアクセスする為の配列のキーは以下の表のとおりです。
キー | 説明 | 既定値 |
---|---|---|
benchmarks | ベンチマーク観測点での経過時間と総実行時間 | TRUE |
config | CodeIgniter の設定変数 | TRUE |
controller_info | リクエストされたコントローラのクラスとメソッド | TRUE |
get | リクエストに渡されたすべての GET データ | TRUE |
http_headers | 現在のリクエストの HTTP ヘッダ | TRUE |
memory_usage | 現在のリクエストで消費されたバイト単位のメモリ容量 | TRUE |
post | リクエストに渡されたすべての POST データ | TRUE |
queries | 実行時間を含む、実行されたすべてのデータベースクエリの一覧 | TRUE |
uri_string | 現在のリクエスト URI | TRUE |
session_data | 現在保存されているセッションデータ | TRUE |
query_toggle_count | ブロックを初期状態で非表示にするクエリの数 | 25 |