Como criar um perfil do meu aplicativo C ++ no linux

Gostaria de criar um perfil do meu aplicativo c ++ no linux. Gostaria de descobrir quanto tempo meu aplicativo passou no processamento da CPU versus o tempo gasto no bloco por IO / inatividade.

Eu sei que existe uma ferramenta de perfil chamada valgrind no linux. Mas divide o tempo gasto em cada método e não me fornece uma imagem geral de quanto tempo gasto no processamento da CPU versus ocioso? Ou existe uma maneira de fazer isso com o valgrind.

questionAnswers(9)

yourAnswerToTheQuestion