アプリケーションのプロファイリング¶
プロファイラクラスはベンチマーク結果を表示します、実行したクエリと
$_POST
データを、ページの下部に。
この情報は開発時にデバッグや最適化を支援するために
役立ちます。
クラスの初期化¶
Important
このクラスは初期化する必要は あ り ま せ ん 。 以下の説明のようにプロファイリングが有効になっている場合に、 出力ライブラリ により自動的にロードされます。
プロファイラを有効にする¶
プロファイラを有効にするには、 コントローラ メソッド内の任意の場所につぎの行を追加します:
$this->output->enable_profiler(TRUE);
有効にするとレポートが生成され、 ページの下部に挿入されます。
プロファイラを無効にするには:
$this->output->enable_profiler(FALSE);
ベンチマークポイントを設定する¶
プロファイラでベンチマークデータを処理し表示させるするためには、 特定の構文を使用して測定点をマークする必要があります。
ベンチマークポイントの設定については ベンチマークライブラリ ページをお読みください。
プロファイラセクションの有効化と無効化¶
プロファイラデータの各セクションは、対応するコンフィギュレーション変数を TRUE または FALSE に設定することで有効または無効にすることができます。 これは、 2 つの方法のいずれかで行うことができます。まず、アプリケーション全体のデフォルトを 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 | 現在のリクエストによって消費されるメモリの量 (byteで) | TRUE |
post | リクエストで渡されたあらゆる POST データ | TRUE |
queries | 実行されたすべてのデータベースクエリのリスト、実行時間を含む | TRUE |
uri_string | 現在のリクエストの URI | TRUE |
session_data | 現在のセッションに保存されたデータ | TRUE |
query_toggle_count | クエリブロックでデフォルトで非表示にされはじめる クエリの数 | 25 |
Note
データベース設定での save_queries
設定の無効化はデータベースクエリのプロファイリングにも影響し、
上記の「 queries 」設定も使えなくします。
必要に応じて、$this->db->save_queries = TRUE:
でこの設定を上書きすることができます。
この設定抜きにしてはクエリまたは
last_query <database/helpers> を表示することはできません。