Grabar un proceso con perf usando PID no funciona

Grabar un proceso con perf usando PID no funciona

Cuando hago perfiles de rendimiento usando perf, normalmente esto funciona:

perf record -g -F99 $BINARY_NAME

Al finalizar, el comando dice:

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

Y puedo leer los seguimientos de la pila capturados usando perf script.

Sin embargo, mi programa está haciendo una red asincrónica, y si los servidores a los que se está conectando están fuera de línea (mi programa recibe "No hay ruta al host (error de sistema operativo 113)", los maneja e intenta conectarse nuevamente), el rendimiento El comando no logra recolectar muestras:

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

Cuando se inspecciona con perf script, no genera nada. Cuando los servidores están en línea, funciona normalmente.

Mi programa es un binario nativo escrito en Rust. ¿Alguna idea de por qué podría suceder esto?

información relacionada