Как стать автором
Обновить

Комментарии 18

в Linux — посредством анализа содержимого файлов /proc/pid/stat и /proc/stat.
Точно. Я этот момент проморгал. Спасибо.
В операционной системе Windows информация об используемой процессом памяти и загрузке ЦП была получена через WinApi, в Linux — посредством анализа содержимого файлов /proc/pid/stat и /proc/stat.


Думаю Windows и Linux

Не прогрузился ответ выше)
Может быть, кто-нибудь подкинет другие идеи по улучшению.

Как на счет подсчета утечек памяти?
Valgrind?
Valgrind хорош, но у него часто бывают ложные срабатывания при анализе Qtшного приложения. Шикарно было бы, если б динамический анализатор понимал Qtшный менеджер памяти.
Круть, полезная вещь! Завтра, на свежую голову, попытаюсь вкрутить в свой Creator :)
Спасибо автору за разработку.
1. Предлагаю не очищать график после закрытия приложения. (Ну или все очищать, не только график но и числа)
2. Сделать чтобы число объема памяти вмещалось вне зависимости от ширины. (Сейчас под поле отводится фиксированный % ширины, чуточку «умнее» бы)
screenshot Спасибо, плагин понравился. Kubuntu 16.04 x64.
Учту
Имеет смысл релиз сделать обычным способом. ИМХО.
То есть бинари запаковать и выложить на гитхабе на вкладке releases, а из исходников убрать.
НЛО прилетело и опубликовало эту надпись здесь
Отличный плагин, спасибо за труды!

Помимо вышесказанного хотелось бы иметь:

1) Английский язык в интерфейсе
2) Возможность выгрузить логи сессии диагностики во внешний файл (csv, например) для того, чтобы можно было запустить тестирование и потом проанализировать нагрузку от приложения на больших отрезках времени (час, сутки...)

Собрал для версии 4.1.0, но у плагина не получается получить pid, в qDebug пишет


ProjectExplorer::ProjectExplorerPlugin::updateRunActions signal
PID: 0
Хм, с ходу не могу ответить. Возможно, как-то повлияла разница в минорных версиях. Разработка велась для Qt Creator 4.2.1.
А на какой ОС и с каким компилятором собираете?

Ubuntu 17.04, gcc 6.3


Решил проблему так:
Завел слот onApplicationHandleChanged и в onRunControlStarted сделал


connect(m_runControlPtr,
        &ProjectExplorer::RunControl::applicationProcessHandleChanged,
        this, &DiagnosticToolsPlugin::onApplicationHandleChanged);

setPid и startDataQuery вызываю уже там (при условии, что m_runControlPtr->applicationProcessHandle().isValid()


Pull request сделать?

Ага
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории