Состоялся (https://lkml.org/lkml/2018/6/8/558) релиз системы динамической трассировки SystemTap 3.3 (http://sourceware.org/systemtap/), предоставляющий для платформы Linux средства отладки, похожие на технологию DTrace. SystemTap позволяет организовать доскональное наблюдение за работающей Linux-системой, производить сбор статистики о работе приложений, профилирование и контроль системных вызовов. Управление производится через интерфейс командной строки и специальный Си-подобный язык сценариев (http://sourceware.org/systemtap/documentation.html). Система протестирована с ядрами Linux начиная с версии 2.6.32 и заканчивая 4.18-rc0. В развитии проекта участвуют такие компании как Red Hat, IBM, Intel, Hitachi и Oracle. В каталоге примеров (http://sourceware.org/systemtap/examples/keyword-index.html) представлено 163 скрипта на все случаи жизни, подходящие для слежения за распределением памяти, вводом/выводом, дисковыми операциями, сетевым трафиком (например, анализ работы NFS), работой планировщика задач, обработкой прерываний, использованием системных буферов, установкой блокировок, выполнением системных вызовов, обработкой сигналов и т.п.
Основные новшества:
- Расширены возможности бэкенда трассировки на базе подсистемы ядра eBPF: появилась поддержка контрольных проверок с использованием механизмов uprobes, perf counter и tracepoint. В контрльных проверках на базе eBPF обеспечена возможность выполнения циклов (только для проверок в пространстве пользователя), которые могут применятьяс например, для перебора элементов массивов;
- В тапсетах (tapset) добавлена начальная поддержка платформы MIPS;
- Runtime и тапсеты портированы для ядер Linux, вплоть до версии 4.17;
- В Systemtap runtime добавлена возможность обработки некоторых побочных проблем, возникших из-за добавления в ядро защиты от атак Meltdown и Spectre, таких как скрытие и перемещение указателей. В runtime также добавлено насколько исправлений, связанных с низкоуровневой обработкой блокировок, решающих проблемы на системах с большим числом CPU;
- Во фронтэнде (утилите stap) реализован новый режим "stap --example FOO.stp" для поиска примеров сркиптов, входящих в поставку SystemTap. Также переработана опция "stap --sysroot /PATH", которая теперь лучше подходит для окружений кросс-компиляции;
- Добавлен новый скрипт capture_ssl_master_secrets.stp с примером (https://sourceware.org/systemtap/examples/io/capture_ssl_mas...) захвата SSL/TLS сессионных ключей gnutls и openssl для организации дешифрования трафика (перехватывает обработчики tls1_generate_master_secret иgenerate_normal_master в libssl.so и libgnutls.so).
URL: https://lkml.org/lkml/2018/6/8/558
Новость: https://www.opennet.dev/opennews/art.shtml?num=48744