Xdebugプロファイラーログ視覚化ツール

おそらく多くのphp開発者は、 xdebugプロファイラーを使用してアプリケーションのボトルネックを見つけます。 しかし、ログを見るだけではあまり便利ではないため、ログを視覚化するツールが作成されました。 これらのツールについて簡単に説明します。



ウェブグラインド



Webgrindは、ローカルまたはリモートのWebサーバーにインストールできるphpスクリプトのセットです。 その後、すべてが単に下品です-ログファイルをアップロードして、統計を見てください。

画像

Webgrindの最も明白なプラスは、クロスプラットフォームで簡単にインストールできることです。

呼び出された関数のリスト、呼び出しの数(呼び出し回数)、呼び出しに費やされた合計時間(合計自己コスト)、および実行に費やされた合計時間(合計包括コスト)を表示します。

PHP関数を非表示にできます。 関数内で詳細な統計を見ることができます。



カチェグラインド



KCachegrindには3番目のKDEライブラリが必要です。 ほとんどのUnixライクなOS(UbuntuとFreeBSDでは間違いなく動作します)、Windows(Cygwin経由)およびMacOS X(チェックしませんでした)で動作します。 これはおそらく、利用可能なすべてのプロファイルを視覚化するための最も機能的で便利なツールです。



画像

関数呼び出し、時間を見ることができ、呼び出しグラフ(非常に便利)とマップ(時には便利)も見ることができます。



WinCacheGrind



WinCacheGrindは、Windows用の必要最低限​​のKCachegrindです。 もちろん、他のOSの仮想マシンで実行を試みることもできますが、理由はわかりません。 関数からの関数呼び出しを表示でき、高速実行関数を非表示にすることもできます。



画像



xdebugtoolkit



おそらく上記のツールを知っているなら、おそらくxdebugtoolkitについて初めて耳にするでしょう。 私自身はほんの数ヶ月前に彼について知りました。

xdebugtoolkitを使用すると、これらのグラフを視覚化できます。



画像



画像

一般に、KCacheシステムをインストールしてKCachegrindをインストールしたくない場合は、xdebugtoolkitをWebgrindと組み合わせて使用​​できます。



MacCallGrind



MacOS X用のVisualizer。私は使用しませんでした(MacOS Xではほとんど動作しませんでした)。 次のようになります。



画像

外部的には、WinCacheGrindのように見えます。 説明から判断すると、機能は似ています。



Cachegrindvisualizer



それについては文字通り私にftrを言った。 これは、Develar habrayuzerの国内開発です。 Adobe AIRを搭載。 スクリーンショットは非常に大きく、ここにリンクがあります。 そして、説明からの抜粋:

CachegrindVisualizerは、KCacheGrindよりも有益なグラフを作成します-エッジの端には、より小さいフォントで入力されたラベルがあります-これは、この関数の実行に費やされた適切な時間(自己時間)です。


印象的ですね。 使用してみる必要があります。 誰かがすでに働いている場合-あなたの印象を共有してください。



あとがき

私が約束したように、説明は短いです。 私はこれらのアプリケーションのほとんどを長い間使ってきました。 現在、KCachegrindを最も便利で機能的なツールとして使用しています。



PS xdebugでプロファイラーを有効にするには、php.iniで「xdebug.profiler_enable = 1」と記述する必要があります。



UPD Habréには、xdebugを使用したコードのプロファイリングに関する記事の翻訳があります。xdebugを使用したPHPアプリケーションのプロファイリングです 。 WinCacheGrindおよびKCachegrindを使用した作業の詳細を示します。



All Articles