Вышел релиз системы динамической трассировки SystemTap 1.6, предоставляющий для платформы Linux средства похожие на технологию DTrace из состава Solaris. SystemTap позволяет организовать доскональное наблюдение за работающей Linux системой, производить сбор статистики о работе приложений, профилирование, контроль системных вызовов. Управление производится через интерфейс командной строки и специальный Си-подобный язык сценариев.
В развитии проекта участвуют такие компании как Red Hat, IBM, Intel, Hitachi и Oracle. В каталоге примеров представлено более 100 скриптов на все случаи жизни, подходящие для слежения за распределением памяти, вводом/выводом, дисковыми операциями, сетевым трафиком (например, анализ работы NFS), работой планировщика задач, обработкой прерываний, использованием системных буферов, установкой блокировок, выполнением системных вызовов, обработкой сигналов и т.п.
Основные улучшения версии 1.6:
- В сервере компиляции сценариев (systemtap compile-server) обеспечена поддержка кэширования, что значительно ускоряет повторную сборку скриптов;
- Улучшена поддержка архитектуры ARM. Для ARM теперь корректно выполняются операции kread() и kwrite(), что дало возможность нормальной работы большого числа проверок и функций SystemTap;
- В staprun добавлена поддержка опции '-R' для переименования модулей перед их включением;
- Выполнение "stap -L 'process("PATH").syscall'" позволяет отобразить контекстные переменные для "process.syscall";
- По умолчанию в проверках принимается имя процесса, переданного через опцию "-c CMD". Например, вместо указания "'process("PROC").function("*")... process("PROC").mark("*")...' -c 'PROC'" теперь можно использовать конструкцию "'process().function("*")... process().mark("*")...' -c 'PROC'";
- Улучшена и ускорена реализация поддержки обратной трассировки (backtrace);
- Уровень передачи данных теперь проверяет факт доставки всех управляющих сообщений.
|