Увидела свет система динамической трассировки SystemTap 1.8

Материал из Викиновостей, свободного источника новостей

18 июня 2012 года

Представлен релиз системы динамической трассировки SystemTap 1.8, предоставляющий для платформы Linux средства похожие на технологию DTrace. SystemTap позволяет организовать доскональное наблюдение за работающей Linux системой, производить сбор статистики о работе приложений, профилирование и контроль системных вызовов. Управление производится через интерфейс командной строки и специальный Си-подобный язык сценариев.

В развитии проекта участвуют такие компании как Red Hat, IBM, Intel, Hitachi и Oracle. В каталоге примеров представлено более 100 скриптов на все случаи жизни, подходящие для слежения за распределением памяти, вводом/выводом, дисковыми операциями, сетевым трафиком (например, анализ работы NFS), работой планировщика задач, обработкой прерываний, использованием системных буферов, установкой блокировок, выполнением системных вызовов, обработкой сигналов и т.п.

Основные улучшения версии 1.8:

  • Поддержка проверки приложений пространства пользователя из коробки начиная с выпуска ядра 3.5-rc, без необходимости использования модифицированного ядра Linux;
  • Поддержка контрольных вызовов (probes) для подсистемы netfilter. Набор сопутствующих инструментов представлен в tapset-е netfilter.stp;
  • Полная поддержка IPv6 в tapset-ах и сервере/клиенте компиляции скриптов;
  • В сервере компиляции сценариев (systemtap compile-server) обеспечена поддержка параллельной обработки одновременных соединений (управление через опцию "--max-threads");
  • Поддержка секций ".debug_types", определённых в отладочном формате DWARF4 (например, используется когда исполняемый файл или библиотека собраны свежими версиями GCC с опцией -gdwarf-4 или -fdebug-types-section);
  • Реализация конструкции @var(), которую можно использовать для доступа к переменным в глобальной области видимости.

Например, указав @var("somevar@some/src/file.c") можно получить доступ к значению переменной somevar, определённой в файле "some/src/file.c".

  • Поддержка в stap возможности ограничения ресурсов (--rlimit-as=NUM, --rlimit-cpu=NUM, --rlimit-nproc=NUM, --rlimit-stack=NUM, --rlimit-fsize=NUM);
  • Тестирование работы в широком спектре версий ядра Linux, от 2.6.9 до 3.5-rc.
  • Добавлен новый tapset guru-delay.stp, позволяющий внедрять задержки в операции ядра. Обновлены tapset-ы: syscalls.stp (поддержка системных вызовов ядра 3.5-rc), dentry.stp, context-caller.stp, s390/registers.stp , inet_*.stp (расширено число доступных в непривилегированном режиме функций), inet_*.stp (поддержка IPv6);
  • Новые примеры использования SystemTap:
  • netfilter_drop.stp - отбрасывание заданных исходящих пакетов;
  • netfilter_summary.stp - показ TCP/IP трафика по адресу источника и назначения;
  • psig.stp - показ активных обработчиков сигналов для указанного процесса;
  • auditbt.stp - генерация обратной трассировки (backtraces) для пользовательсного процесса для заданных событий аудита;
  • nfsdtop.stp - вывод суммарных данных о выполняемых запросах в NFS;
  • pf3.stp - формирование профиля взаимодействия ядра и пользовательского процесса;
  • enospc.stp - создание в syslog записей при нехватке свободного места на дисковом разделе.

Источники[править]

Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Увидела свет система динамической трассировки SystemTap 1.8», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.