etc:teach:diplomants:projects:2009:eclipse-oprofile

Eclipse плагин для OProfile

Идея

Есть мощьный и быстрый профилировщик под Linux - OProfile. Хочется иметь простой доступ к его функциональности из Eclipse-CDT.

Диплом

Задача

Написать плагин для среды разработки Eclipse, поддерживающий профилировку приложений на C/C++ с помощью профилировщика OProfile.

Практическое применение

Плагин позволит осуществлять профилировку разрабатываемых в IDE приложений и наглядно отображать результаты разработчику. Это избавит разработчика от изучения сложной документации по OProfile и необходимости интерпретации малонаглядной информации предоставляемой с текстовом режиме профилировщиком, что упростит процесс профилировки и повысит его скорость.

Аналоги
  • На данные момент в Eclipse нет средств профилировки программ на С/С++.
  • Для профилировщика Wallgrind есть графический интерфейс KCachegrind, однако сам профилировщик обладает рядом недостатков.
  • Есть ряд интегрированных с графическим оболочками профилировщиков, но они дороги(например Intel VTune).
Теория

FIXME

Основные задачи

Предполагаемая функциональность
  1. Запуск проекта для профилировки.
  2. Отображение профилировочной информации внутри IDE.
  3. Возможность получения профилировочной информации с удалённой машины.
  4. Поддержка SLIND(FIXME какая?).
Ожидаемые формы отображения результатов
  1. Построчное отображение времени, затраченного процессором.
  2. Диаграмма распределения процессорного времени по функциям.
  3. Диаграмма распределения процессорного времени по потокам.
  4. Отчёт по выделению памяти(FIXME в какой форме?).

Комментарии

Уже есть такой плагин, но он написан для старых версий OProfile/Eclipse/CDT и около 2х лет не развивается.
Есть Eclipse-проект инструментов профилировки и тестирования. Он предоставляет ряд стандартных элементов интерфейса и некоторый фреймворк для сбора и обработки информации от профилировщика.

План действий

Сейчас ищутся ответы на следующие вопросы:

  • Какой формат профилировочной информации использует CDT?
  • Что умеет существующий плагин?
  • Насколько он совместим с актуальными версиями OProfile/Eclipse/CDT?
  • Какую функциональность может предоставить TPTP в плане (удалённого?) взаимодействия с профилировщиком?
  • Какую функциональность может предоставить TPTP в плане логики обработки профилировочной информации?
  • Какую функциональность может предоставить TPTP в плане пользовательского интерфейса?

Добытые знания

Сылки

etc/teach/diplomants/projects/2009/eclipse-oprofile.txt · Last modified: 2008/03/30 18:40 by zan