SystemTap 2.5
SystemTap — средство, которое позволяет собирать и анализировать информацию о работающей Linux-системе, производить сбор статистики о работе приложений, профилирование и контроль системных вызовов. Управление производится через интерфейс командной строки и специальный Си-подобный язык сценариев. В разработке проекта SystemTap участвуют такие компании как Red Hat, IBM, Oracle Corporation, Hitachi.
Неполный список изменений:
Изменения во фронтэнде (утилите stap): Поддержка работы на системах с UEFI SecureBoot с поддержанием ключей верификации силами размещённого в сети доверительного SystemTap-сервера; Возможность выполнения контрольных проверок во время загрузки, благодаря подстановке проверочных модулей на раннем этапе загрузки (поддерживаются системы с dracut). Для выполнения проверок во время загрузки представлена команда onboot При выполнении DWARF-проверок обеспечена возможность использования '.callee|s|' для более точного исследования функций. Например, если конструкция process («myproc»).function («foo»).callee («bar») сработает только при вызове функции bar () из foo (), то process («myproc»).function («foo»).callees сработает для всех вызовов; Новые опции для инспектирования содержимого установленных библиотек: «stap --dump-functions» выведет весь список функций и их аргументы, «stap --dump-probe-aliases» покажет все псевдонимы контрольных проверок для библиотеки; Увеличена скорость и точность выполнения контрольных проверок выражений (process.statement) для развёрнутых (inline) функций; Улучшены эвристические алгоритмы, используемые для поиска завершения пролога функции; В случае недоступности debuginfo проверка функций в процессах теперь откатывается на использование символьных таблиц; Увеличена точность и лаконичность сообщений об ошибках несоответствия типов; При отсутствии указанных меток обеспечен вывод подсказок с уточнением наиболее вероятного варианта, например, при указании process («stap»).mark («benchmart») предлагается использовать метку 'benchmark'; Улучшения в языке сценариев: Поддержка условного выражения »%(guru_mode == 0%)» или »%(guru_mode == 1%)» для организации двойного использования скриптов; Во встроенных функциях на Си можно использовать STAP_RETURN (value) вместо перехода «goto out» и назначения STAP_RETVALUE; Функции |s|println () теперь могут быть вызваны без аргументов, что приведёт к выводу символа новой строки; Добавлена поддержка обратной трассировки (backtracing) через задействование специального модуля; Добавлен новый псевдоним проверки «oneshot» для быстрого выполнения фрагмента скрипта и выхода. gpl, opensource, systemtap