Синхронизация частей PHP-скрипта, включая время выполнения отдельных методов объектов? - PullRequest
0 голосов
/ 31 марта 2010

Я искал надежный, чистый способ создания расширенных отчетов времени выполнения для определенных частей 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, но я не уверен, что это поможет мне сделать именно то, что я ищу.

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

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

1 Ответ

3 голосов
/ 31 марта 2010

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

...