
Когда я выполняю профилирование производительности с помощью 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. Есть идеи, почему это может произойти?