Gravar um processo com perf usando PID não funciona

Gravar um processo com perf usando PID não funciona

Quando faço perfil de desempenho usando perf, normalmente isso funciona:

perf record -g -F99 $BINARY_NAME

Após a conclusão, o comando diz:

[ perf record: Captured and wrote 0.006 MB output.data (37 samples) ]

E posso ler os rastreamentos de pilha capturados usando perf script.

No entanto, meu programa está fazendo rede assíncrona e se o(s) servidor(es) ao qual ele está se conectando estiverem off-line (meu programa está recebendo "Nenhuma rota para o host (erro OS 113)", manipulando-os e tentando conectar-se novamente.), o desempenho comando não consegue coletar amostras:

[ perf record: Captured and wrote 0.006 MB output.data ]

Quando inspecionado com perf script, não produz nada. Quando os servidores estão online, funciona normalmente.

Meu programa é um binário nativo escrito em Rust. Alguma idéia de por que isso pode acontecer?

informação relacionada