@romaten1
Начинающий web-разработчик.

Почему xprof не отображает использование памяти при передаче XHPROF_FLAGS_MEMORY?

Использовали xprof на php 5.6 - работал в основном нормально. Перешли на php7 - официальной поддержки PHP 7 от xhprof пока нет, поэтому использовали сторонний форк - https://andymarrel.eu/programming/xhprof-php-7 - подключили, работает, но отображает только "Total Incl. Wall Time" и "Number of Function Calls" - использование памяти не показывает. Тестировали в консоли - без всяких надстроек:
<?php
function bar($x) {
  if ($x > 0) {
    bar($x - 1);
  }
}
function foo() {
  for ($idx = 0; $idx < 2; $idx++) {
    bar($idx);
    $x = strlen("abc");
  }
}
// start profiling
xhprof_enable();
// run program
foo();
// stop profiler
$xhprof_data = xhprof_disable();
// display raw xhprof data for the profiler run
print_r($xhprof_data);

Результат правильный вроде:
Array
(
    [foo==>bar] => Array
        (
            [ct] => 2
            [wt] => 23
        )
    [bar==>bar@1] => Array
        (
            [ct] => 1
            [wt] => 2
        )
    [main()==>foo] => Array
        (
            [ct] => 1
            [wt] => 58
        )
    [main()==>xhprof_disable] => Array
        (
            [ct] => 1
            [wt] => 0
        )
    [main()] => Array
        (
            [ct] => 1
            [wt] => 71
        )
)

Но после передачи XHPROF_FLAGS_MEMORY или XHPROF_FLAGS_CPU в xhprof_enable() ничего не меняется.
Это проблема семерки или что-то другое?
  • Вопрос задан
  • 286 просмотров
Пригласить эксперта
Ответы на вопрос 1
qant
@qant
programer
Используйте этот форк для 7ки: https://tideways.com/profiler/xhprof-for-php7

включать память и CPU так:

tideways_xhprof_enable(TIDEWAYS_XHPROF_FLAGS_MEMORY | TIDEWAYS_XHPROF_FLAGS_CPU);

Доп инфо: https://support.tideways.com/article/185-tideways-...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы