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

Krishna

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

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

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

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

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

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




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

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

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

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

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

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

Изменения:
* Хоткей на открытие файла
* Сборка под Linux (пока только GTK)
* Корректное сообщение об ошибке для слишком старых версий XDebug
* Багфиксы ошибок парсинга профилей сделанных под виндой
 

Krishna

Продался Java
Отпишитесь если кто просто успешно запустил хотя бы )))
 

Krishna

Продался Java
Иван Redjik Матвеев
Да. Возможно даже сегодня.
И для Linux, на неделе.
 

Krishna

Продался Java
Поступил первый фидбек - тот билд, что был залит ранее не работал с JRE 1.6. (требовал 1.7)
Пофиксено, файл обновлён без изменения версии (0.1.0)
 

Krishna

Продался Java
Raziel[SD]
Спасибо!
Не смог распарсить, все в аттаче.
У тебя XDebug версии 0.9.6 (или другая, которая пишет, что она 0.9.6), а тулза работает с 2.1.3 и выше. Дело в том, что там менялся формат файлов, причём так круто менялся, что даже вот не смогла она прочитать версию в 0.9.6 и поэтому не выдала более корректное сообщение об ошибке версии.

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

Krishna

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

Redjik

Джедай-мастер
ради этого дела поставил php 5.3.12 на денвер и последний xdebug.

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

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

Krishna

Продался Java
При клике на Show Internal Functions, если в списке (я так понял), только internal functions - вылетает ошибка - после нее полет нормальный
Просим ошибку в студию, по возможности со скриншотом. Ну или хотя бы текст и на какой вкладке это происходит.
 

Redjik

Джедай-мастер


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

если снова кликнуть по Show Internal Functions, все встает на места
 

Redjik

Джедай-мастер
Офигенская штука, я раньше профилировал по логам в yii, но так намного удобнее.
Только вот я немножко не врубаюсь в некоторые моменты, но если не дойдет до самого - спрошу.
 

Krishna

Продался Java
А могешь ещё выкласть сюда или прислать на епочту XCallGraph\workspace\.metadata\.log? И, по возможности, cachegrind.out.4508 :)
 

Krishna

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

Да, там многое смущать может, если сам не догадаешься - не стесняйся спрашивать)
 

Raziel[SD]

untitled00
З.Ы. Щас вспомнил, 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
 
Сверху