Запись процесса с помощью perf с использованием PID не работает

Запись процесса с помощью perf с использованием PID не работает

Когда я выполняю профилирование производительности с помощью perf, обычно это работает:

perf record -g -F99 $BINARY_NAME

По завершении команда гласит:

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

И я могу прочитать захваченные трассировки стека с помощью perf script.

Однако моя программа выполняет асинхронную сетевую работу, и если сервер(ы), к которым она подключается, находятся в автономном режиме (моя программа получает сообщение «Нет маршрута к хосту (ошибка ОС 113)», обрабатывает их и пытается подключиться снова), команда perf не может собрать образцы:

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

При проверке с помощью perf scriptничего не выводится. Когда серверы в сети, работает нормально.

Моя программа — это нативный двоичный файл, написанный на Rust. Есть идеи, почему это может произойти?

Связанный контент