XCallGraph - новый тул для просмотра профайлов XDebug!

  • Автор темы Автор темы Krishna
  • Дата начала Дата начала

Krishna

Продался Java
Ну вот, собственно релизю первую версию XCallGraph

Работает с профилями XDebug >= 2.1.3.

Программа, призванная заменить более не поддерживаемый и глючащий Wincachegrind и в перспективе, а в случае интереса к ней и развития, заменить все остальные обработчики профилей XDebug.

Качать дистрибутив и смотреть скрины тут: http://sourceforge.net/projects/xcallgraph/

Инструкции по профилированию с помощью XDebug читать тут: http://xdebug.org/docs/profiler

Большая просьба оставлять фидбек - писать на почту, указанную в Help/About, писать тут вопросы и отзывы.

xcg_total_bynamespace.png

linux.png


Что скорее всего будет реализовано в следующих релизах:

* Оптимизация производительности
* Группировка с агрегацией по файлам и директориям

Что может быть реализовано в перспективе (не в последнюю очередь зависит от востребованности проекта у пользователей и их отзывов/реквестов)

* Интеграция в PDT
* Работа через сетевое соединение, с отображением профилей запросов в реальном времени (нужен патч XDebug)
* Вывод графа в графическом режиме (Аля Cachegrindvizualizer, но без такого гемора и нужды в сторонних тулзах)
* Экспорт визуального графа в SVG/PNG
* Отображение UML-диаграммы последовательности.
* Экспорт UML-диаграммы последовательности в .XMI (формат хранения UML, который понимают UML-редакторы)
* Печать визуального графа / UML с поддержкой многостраничности (делать большие плакатики из нескольких листов A4)

Так же, жду ваших идей и предложений.

UPD1:
Выложена версия 0.1.1 !

Изменения:
* Хоткей на открытие файла
* Сборка под Linux (пока только GTK)
* Корректное сообщение об ошибке для слишком старых версий XDebug
* Багфиксы ошибок парсинга профилей сделанных под виндой
 
Отпишитесь если кто просто успешно запустил хотя бы )))
 
Иван Redjik Матвеев
Да. Возможно даже сегодня.
И для Linux, на неделе.
 
Поступил первый фидбек - тот билд, что был залит ранее не работал с JRE 1.6. (требовал 1.7)
Пофиксено, файл обновлён без изменения версии (0.1.0)
 
Не смог распарсить, все в аттаче.

З.Ы. хотелось бы хоткей на открытие файла(Ctrl+O)
 

Вложения

  • cachegrind.out.zip
    cachegrind.out.zip
    70,1 KB · Просмотры: 2
  • errparse.png
    errparse.png
    32 KB · Просмотры: 4
Raziel[SD]
Спасибо!
Не смог распарсить, все в аттаче.
У тебя XDebug версии 0.9.6 (или другая, которая пишет, что она 0.9.6), а тулза работает с 2.1.3 и выше. Дело в том, что там менялся формат файлов, причём так круто менялся, что даже вот не смогла она прочитать версию в 0.9.6 и поэтому не выдала более корректное сообщение об ошибке версии.

З.Ы. хотелось бы хоткей на открытие файла(Ctrl+O)

Сделаю в следующей версии.
 
З.Ы. Щас вспомнил, 0.9.6 это не версия XDebug, а видимо формата. В общем, диагноз остаётся прежним. Нужно обновить XDebug хотя бы до 2.1.3.
Причём, не только чтобы моя прога работала, там ещё и ошибки в профилировании. В 2.1.2 например последняя из известных критических.
 
ради этого дела поставил php 5.3.12 на денвер и последний xdebug.

Полет нормальный - все работает.

UPD.
При клике на Show Internal Functions, если в списке (я так понял), только internal functions - вылетает ошибка - после нее полет нормальный
 
При клике на Show Internal Functions, если в списке (я так понял), только internal functions - вылетает ошибка - после нее полет нормальный

Просим ошибку в студию, по возможности со скриншотом. Ну или хотя бы текст и на какой вкладке это происходит.
 
7245210364_d52c33a5b6_b.jpg


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

если снова кликнуть по Show Internal Functions, все встает на места
 
Офигенская штука, я раньше профилировал по логам в yii, но так намного удобнее.
Только вот я немножко не врубаюсь в некоторые моменты, но если не дойдет до самого - спрошу.
 
А могешь ещё выкласть сюда или прислать на епочту XCallGraph\workspace\.metadata\.log? И, по возможности, cachegrind.out.4508 :)
 
Офигенская штука, я раньше профилировал по логам в yii, но так намного удобнее.
Только вот я немножко не врубаюсь в некоторые моменты, но если не дойдет до самого - спрошу.

Ну таких "штук" и раньше много было, начиная с почившего в бозе Wincachegrind, просто у них у всех свои недостатки. Задача сделать наиболее юзабельный и функциональный вариант.

Да, там многое смущать может, если сам не догадаешься - не стесняйся спрашивать)
 
З.Ы. Щас вспомнил, 0.9.6 это не версия XDebug, а видимо формата. В общем, диагноз остаётся прежним. Нужно обновить XDebug хотя бы до 2.1.3.
Причём, не только чтобы моя прога работала, там ещё и ошибки в профилировании. В 2.1.2 например последняя из известных критических.

Может тогда версию проверять ?

Обновил xdebug, все заработало, мне нравится, спасибо.

UPD.
При клике на Show Internal Functions, если в списке (я так понял), только internal functions - вылетает ошибка - после нее полет нормальный

Если нажать "show internal functions" и "show includes directive", а потом отключить обе(в любой последовательности) вылетает ошибка эта ошибка.

З.Ы. на сайте xdebug'а есть замечательная тулза, подробно показывает, как установить xdebug: http://xdebug.org/wizard.php
 
Сверху