Eclipse плагин для OProfile
Идея
Есть мощьный и быстрый профилировщик под Linux - OProfile. Хочется иметь простой доступ к его функциональности из Eclipse-CDT.
Диплом
Задача
Написать плагин для среды разработки Eclipse, поддерживающий профилировку приложений на C/C++ с помощью профилировщика OProfile.
Практическое применение
Плагин позволит осуществлять профилировку разрабатываемых в IDE приложений и наглядно отображать результаты разработчику. Это избавит разработчика от изучения сложной документации по OProfile и необходимости интерпретации малонаглядной информации предоставляемой с текстовом режиме профилировщиком, что упростит процесс профилировки и повысит его скорость.
Аналоги
На данные момент в Eclipse нет средств профилировки программ на С/С++.
Для профилировщика Wallgrind есть графический интерфейс KCachegrind, однако сам профилировщик обладает рядом недостатков.
Есть ряд интегрированных с графическим оболочками профилировщиков, но они дороги(например Intel VTune).
Теория
Основные задачи
Предполагаемая функциональность
Запуск проекта для профилировки.
Отображение профилировочной информации внутри IDE.
Возможность получения профилировочной информации с удалённой машины.
Поддержка SLIND(
какая?).
Ожидаемые формы отображения результатов
Построчное отображение времени, затраченного процессором.
Диаграмма распределения процессорного времени по функциям.
Диаграмма распределения процессорного времени по потокам.
Отчёт по выделению памяти(
в какой форме?).
Комментарии
Уже есть такой плагин, но он написан для старых версий OProfile/Eclipse/CDT и около 2х лет не развивается.
Есть Eclipse-проект инструментов профилировки и тестирования. Он предоставляет ряд стандартных элементов интерфейса и некоторый фреймворк для сбора и обработки информации от профилировщика.
План действий
Сейчас ищутся ответы на следующие вопросы:
Какой формат профилировочной информации использует CDT?
Что умеет существующий плагин?
Насколько он совместим с актуальными версиями OProfile/Eclipse/CDT?
Какую функциональность может предоставить TPTP в плане (удалённого?) взаимодействия с профилировщиком?
Какую функциональность может предоставить TPTP в плане логики обработки профилировочной информации?
Какую функциональность может предоставить TPTP в плане пользовательского интерфейса?
Добытые знания
Сылки