アプリケーションのプロファイリング

プロファイラクラスはベンチマーク結果を表示します、実行したクエリと $_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> を表示することはできません。