2010-03-31 2 views
0

Я искал надежный, чистый способ делать расширенные отчеты о выполнении для определенных частей скрипта PHP. Мне бы хотелось, чтобы динамическое время и отслеживать каждый вызов метода для каждого объекта во время выполнения сценария, регистрировать эту информацию и создавать таблицу/отчет в конце скрипта для вывода.Временные части скрипта PHP, включая время выполнения отдельных методов объектов?

Я думал о делать что-то вдоль линий, в псевдокоде:

class MagicTimingClass redefines *ALL_CLASSES* { 
    public function __call($name, $args) { 
     log_start_time(); 
     $return = run_the_method(); 
     log_end_time(); 
     return $return; // return original method results 
    } 
} 

Я знаю, что я не могу это сделать, и я посмотрел в runkit/classkit для PHP, но я не уверен, что это поможет мне сделать именно то, что я ищу.

Я надеюсь получить отчет, чтобы я мог определить, какие методы заставляют мой скрипт быть узким местом, временно не изменяя мои классы для этого уровня отладки, а затем снова не изменяя код, когда мне нужен код для выхода на производство ,

Если у кого есть какие-либо мысли или выводы, это было бы здорово! Заранее спасибо

ответ

3

Вы можете использовать профилировщик, например, Xdebug, что означало бы, что вам не придется изменять код вообще.

+0

В конце концов это было лучшее решение. Я провел целую кучу исследований, так как я задал вопрос, и что найденный xdebug в сочетании с WinCacheGrind оказался отличной комбинацией инструментов. Спасибо! – theotherlight