Как реализовать эффективную статистику времени выполнения C++

Я хотел бы знать, есть ли хороший способ контролировать внутренности моего приложения, в идеале в виде существующей библиотеки.

Мое приложение сильно многопоточно и использует систему обмена сообщениями для связи в -между потоками и с внешним миром. Моя цель — отслеживать, какие сообщения отправляются, с какой частотой и т. д.

Также может быть другая статистика в более общем виде, например, сколько потоков создается каждую минуту, сколько раз вызывается новое/удаление или более конкретные аспекты приложения; вы называете это.

Что было бы здорово, так это что-то вроде «внутренних страниц» для Google Chrome, например net или chrome ://tracing, но в стиле командной строки.

Если есть библиотека, которая достаточно универсальна, чтобы учесть особенности моего приложения, это было бы здорово.
В противном случае я готов реализовать небольшой класс, который сделает эту работу, но я не знаю, с чего начать. Я думаю, самое главное, что код не должен слишком сильно мешать, чтобы не влиять на производительность.

У вас, ребята, есть какие-то указания по этому вопросу?

Изменить :мое приложение работает на Linux во встроенной среде, к сожалению, не поддерживаемой Valgrind:(

11
задан Gui13 6 July 2012 в 20:28
поделиться