Представлен trace — современный аналог strace
Немецкий Linux-разработчик Томас Глейкснер (Thomas Gleixner) представил в почтовой рассылке linux-kernel новую утилиту trace, которая призвана прийти на смену strace.
Появление инструмента trace стало своеобразным ответом на недавний комментарий Линуса Торвальдса (Linus Torvalds) о том, что «в Linux нет достаточно хороших средств трассировки для обычных пользователей». Ожидается, что trace станет именно таким — простым в использовании и в то же время достаточно «мощным» для решения ежедневных проблем.
Заявляется, что цель проекта trace — «предоставить легкий в использовании и простой [прямолинейный, без особых изысков] инструмент трассировки на базе инфраструктуры perf и хорошо известного рабочего процесса профилирования с perf».
Томас отмечает следующие основные отличия trace от strace:
- низкое влияние факта записи трассировки;
- вывод большинства аргументов в их простом hex-представлении (за исключением важных аргументов вроде имен файлов);
- возможность записи ошибок, вызванных отсутствием страниц в виртуальной памяти (pagefaults);
- возможность проведения повторного анализа с применением различных фильтров и опций.
Приводятся следующие простые примеры использования инструмента trace:
- trace record firefox — трассировка firefox и всех дочерних процессов, запись этих данных в trace.data;
- trace summary — краткий обзор результатов трассировки (из файла trace.data);
- trace report — расширенная информация (из файла trace.data).
Код trace для самостоятельной сборки можно взять из дерева -tip, подробности о котором доступны в этом README.
Дмитрий Шурупов по материалам lkml.org.