qcachegrind
を使用して、Xdebug
によって作成されたプロファイルログを表示しています。ファイルは問題なく表示できますが、Imが何を見ているのかわかりません。
Googleを試しましたが、インストールチュートリアルを取得し続けており、表示を理解する方法については何もありません。
(見やすくするために、新しいタブで画像を開いてください)
Qcachegrindやkcachegrindなどのツールは、Xdebug PHPプロファイラーの出力を視覚化します。プロファイラーの出力は、実質的にすべてのPHP関数呼び出しと対応する開始時間のログです。 、実行時間と階層。
典型的なビューを次の図に示します。
左側は「フラットプロファイル」です。最も時間がかかるものから最も時間がかからないものまで、すべての個々の関数呼び出しが一覧表示されます。 「含む」列には、呼び出し先を含む関数によって消費された時間が表示されます。 「自己」列には、呼び出し先を除いて関数が費やした時間が表示されます。 「呼び出された」列と「関数」列には、それぞれ、関数が呼び出された回数と、関数の名前(および名前空間)が表示されます。
右側には、発信者と着信者を視覚化するためのさまざまなビューがあります。発信者と着信者は、左側で選択した機能に対応しています。
上部のスクリーンショットでは、「CalleeMap」が開いています。各長方形は、選択した関数(呼び出し先)内の関数呼び出しであり、内部の各直腸は、呼び出し先の呼び出し先です。サイズは相対的な「含む」に対応します。時間。
下部にある[すべての呼び出し先]ビューには、選択した関数の呼び出し先が、任意のプロパティで表示されます。
より詳細なビューを以下に示します。
これは、Laravelデータベース関数を「自己」時間でソートした関数です。さまざまな関数呼び出しがどのように関連し、どの関数が最も時間を費やすかが明確にわかります:PDOStatement :: execute。これは外部データベースに接続し、クエリを実行して結果を待つ関数なので、当然のことです。
元のスクリーンショットに戻ります。これは、アプリケーションがPHPのsession_start
関数に多くの(かなりの)時間を費やしたことを示しています。これは、99.8%のセルフタイムで示されます。