Моя программа находится на C++, и у меня есть один сервер, который слушает несколько клиентов. Клиенты отправляют небольшие пакеты на сервер. Я запускаю свой код на Ubuntu.Поиск загрузки процессора и циклов процессора
Я хочу измерить использование ЦП и, возможно, общее количество циклов ЦП с обеих сторон, в идеале с разбивкой по циклам/использованию, затраченным на сетевое взаимодействие (от NIC до пользовательского пространства и наоборот), пространство ядра , пользовательское пространство, контекстные переключатели и т. д.
Я сделал поиск, но не мог понять, нужно ли это делать внутри моего кода на C++ или использовать внешний профайлер или, возможно, каким-либо другим способом.
Посмотрите SystemTap. https://sourceware.org/systemtap/ – kaylum
Пожалуйста, отредактируйте свой вопрос, чтобы его мотивировать. Почему вы спрашиваете? Почему общих методов профилирования и бенчмаркинга недостаточно? Что именно вы пробовали? –
@BasileStarynkevitch Я думаю, что мотивировал это достаточно в моем вопросе (второй абзац). Если по общему профилированию вы имеете в виду информацию, извлекаемую из/proc, то она не дает подробного разбиения затрат на сетевое взаимодействие/.... – narengi