2012-09-14 12 views
0

我有一個實時網站,我想要一個PHP profiler這樣的選項,它只在請求時執行(即,當像?_profiler = on一樣添加一個參數給url時)。簡單的PHP分析器爲一個活的網站?

我知道在一個活網站上運行完整的分析器是件可惡的事情,但我想檢查哪些函數在執行時需要時間。

只需要的是每當一個類(動作)內的函數被調用時,我需要註冊函數完成時的開始時間和結束時間,並計算它花費的總時間。

我正在尋找一個簡單的PHP分析器,這樣我就可以包含基本庫類,並且只需在控制器中啓動分析器實例,輪流將自動查找動作內部的每個函數調用並更新所需的時間。

有沒有人知道這樣的PHP分析器?請幫助找出或可以有人告訴我一個想法如何做到這一點?

+2

xdebug? ....... – zerkms

+0

xdebug具有可以配置爲在觸發器(GET參數)傳遞時運行的分析器 – karka91

回答

1

我使用XDebug的探查與在php.ini以下選項(或php.d/xdebug.ini):「XDEBUG_PROFILER」

xdebug.profiler_enable=0 
xdebug.profiler_enable_trigger=1 

這意味着分析器是默認禁用,但是當你添加到你的查詢(例如site.com/page?XDEBUG_PROFILE),然後xdebug開始分析並創建相應的日誌文件。您可以使用xdebug.profiler_output_dir選項指定放置位置。

然後,您可以使用一些Web前端應用程序來解析xdebug日誌文件。漂亮的一個是:

http://code.google.com/p/webgrind/

你需要你的Web服務器上安裝它。它基於xdebug.profiler_output_dir選項並自動獲取日誌文件。