2012-08-13 9 views
6

PHP XDebugで以前に取得したプロファイルデータを集計する方法はありますか?KCacheGrindを使ったPHP XDebug集計データ

PHP XDebugを管理して、1つのリクエストに関連するデータを1つのファイルに格納しました。 kcachegrindでそのファイルを開くと、そのファイルに集められたすべての要求が表示されます。しかし、各リクエストには独自のスタックトレースがあります(私は理解して、変更するかもしれません)。すべてのリクエストから集計されたプロファイルデータを表示する方法はありますか?それが100%正確でないかどうか気付かない場合や、一部の電話が見つからない場合は、毎日の操作すべてについて簡単に概要が必要です。

免責事項:kcachegrindは必須条件ではありません。

+0

ouch ..すべての毎日の操作ですか?要約するトレースファイルの容量(メガ単位)は何ですか? –

答えて

9

上記の続きを読む1にすべてのファイルを結合:

cat cachegrind.out.* > cachegrind.combined 

オープンcachegrind.combinedを選択し、 "部品" を、ウィンドウの右下のタブを。そこにプロファイルの複数の部分が表示されます。それらをすべて選択(CTRL + aまたはマウスを使用)すると、これらのすべてのプロファイルファイルの合計データが表示されます。

+0

これはかなりクールだ、私はそれをチェックするつもりです。ありがとう! –

+1

それは岩、おい! :-) –

0

生成されたレポートはTEXTであるため、レポートを生成するパーサを構築するのは複雑ではありません。 私はWindows用のWinCacheGrindを使い、詳細なツリーの他に、一般的な時間と関数を組み合わせたものと、呼び出しの回数を示しているので、非常に良いと思います。

+0

どのようにそのようなパーサーを作成するか考えていますか? –

+0

まあ最初から:)ファイルをロードして、それが表すものに基づいて素早く配列にデータを入れて行をループします。そうでなければ、CacheGrindプログラムは存在しません。あなたが夢中になってコードを作成したくない場合は、http://code.google.com/p/webgrind/をお試しください。 – transilvlad

0

私はわかりませんが、下のURLを参照して読んでください。私はそれがあなたに完全に役立つと思う。

プロファイリングXdebugを持つPHPとWebgrind

http://www.chrisabernethy.com/php-profiling-xdebug-webgrind/

検索とPHPのWebアプリケーションのパフォーマンスのボトルネックを固定には時間がかかり、難しい両方にすることができます。幸いにも、XdebugやWebgrindのような無料のツールでは、PHPスクリプトのボトルネックを簡単に見つけて可視化することができます。

Webgrindは、PHP5のXdebugプロファイリングWebフロントエンドです。それはkcachegrindの機能のサブセットを実装し、数秒でインストールし、これまでのコードをプロファイルする必要があった誰もがKcacheGrind(プロファイルデータ可視化ツール)と、おそらく精通しているすべてのplatforms.-Webgrind

に取り組んでいます。 KcacheGrindは、プログラムの実行からプロファイルデータを視覚化する方法を提供し、プログラムがその時間を費やしている場所をすばやく簡単に確認できるようにします。実行のボトルネックがどこにあるかを知ることで、最適な作業を正しい場所に集中させることができます。

PHP用のXdebug拡張機能は、(とりわけ)実行プロファイル情報をKcacheGrindで使用可能な形式でディスクにダンプすることができました。これはKDEでLinuxを実行している場合に最適です。

webgrindプロジェクトは、任意のオペレーティングシステムにインストールできるKcacheGrindのWebベースの置き換えを提供します。これにより、Xdebugプロファイリングデータの一部をブラウザで視覚化することができます。

また別の例Artical

http://www.chrisabernethy.com/php-profiling-xdebug-webgrind/

を参照してください上記の続きを読むと、それを読む - PHP FOR

Xdebug拡張モジュールを|ドキュメンテーションhttp://xdebug.org/docs/profiler

はXdebugの組み込みプロファイラ、あなたのスクリプト内のボトルネックを見つけると、そのようなKCacheGrindやWinCacheGrindなどの外部ツールを使用して、それらを視覚化することができます。 はじめに

Xdebugのプロファイラは、PHPコードを分析してボトルネックを判断したり、コードのどの部分が遅くてスピードブーストを使用できるかを確認する強力なツールです。 Xdebug 2のプロファイラは、プロファイリング情報をcachegrind互換ファイルの形式で出力します。これにより、優れたKCacheGrindツール(Linux/Windows、KDE)を使用してプロファイリングデータを分析することができます。 Linuxを使用している場合は、お気に入りのパッケージマネージャを使用してKCacheGrindをインストールできます。 Windowsの場合、SourceForgeでKCacheGrindのバイナリをコンパイルすることができます。

Windowsのユーザーは、WinCacheGrindも使用できます。この機能はKCacheGrindとは異なるため、このページでKCacheGrindの使用を文書化するセクションはこのプログラムには適用されません。 xdebugtoolkitという代替プロファイル情報プレゼンテーションツール、WebgrindというWebベースのフロントエンド、XCallGraphというJavaベースのツールもあります。

Artical

http://xdebug.org/docs/profiler

+0

あなたの答えをありがとう。しかし、私は自分の質問についてはあまり気にしません - データ集約と1つの(kcachegrind/webgrind)概要での複数のリクエストの分析。 –

関連する問題