The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Выпуск системы динамической отладки SystemTap 2.5"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск системы динамической отладки SystemTap 2.5"  +/
Сообщение от opennews (??) on 05-Май-14, 14:30 
Увидел свет (https://lkml.org/lkml/2014/4/30/511) релиз системы динамической трассировки SystemTap 2.5 (http://sourceware.org/systemtap/), предоставляющий для платформы Linux средства похожие на технологию DTrace. SystemTap позволяет организовать доскональное наблюдение за работающей Linux системой, производить сбор статистики о работе приложений, профилирование и контроль системных вызовов. Управление производится через интерфейс командной строки и специальный Си-подобный язык сценариев (http://sourceware.org/systemtap/documentation.html). Система протестирована с ядрами Linux начиная с версии 2.6.18 и заканчивая 3.15-rc2.

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


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


-  Изменения во фронтэнде (утилите 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() теперь могут быть вызваны без аргументов, что приведёт к выводу символа новой строки;

-  Новые примеры использования SystemTap:


-  python2.stp - пример  тапсета для Python 2;
-   python3.stp  -  пример  тапсета для Python 3;  
-   pyexample.stp - использование python-тапсета для вывода обратных трассировок и значений переменных;
-  connect_stat.stp - вывод инициатора задачи при попытке установить соединение с определённым IP;
-  nfsd-recent.stp - отслеживание всех операций NFS-сервера и вывод списка клиентов, недавно выполнивших запросы;
-  procmod_watcher.stp   - мониторинг всех вызовов fork(), exec(), exit(), init_module() и delete_module();
-  pstree.stp  - вывод списка процессов  в формате .DOT (для построения дерева в GraphVis);
-   rlimit_nofile.stp - слежение за процессами, в которых наблюдаются проблемы с выделением файловых дескрипторов;
-  2048.stp  - реализация игры  2048, выполняемая в пространстве ядра;

-  Добавлена поддержка обратной трассировки (backtracing) через задействование специального модуля;
-  Добавлен новый псевдоним проверки "oneshot" для быстрого выполнения фрагмента скрипта и выхода.

URL: https://lkml.org/lkml/2014/4/30/511
Новость: https://www.opennet.ru/opennews/art.shtml?num=39701

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

2. "Выпуск системы динамической отладки SystemTap 2.5"  –1 +/
Сообщение от Аноним (??) on 05-Май-14, 14:37 
А ораклу это зачем поддерживать?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Выпуск системы динамической отладки SystemTap 2.5"  +/
Сообщение от Аноним (??) on 05-Май-14, 15:13 
Для разработчиков - очень нужный инструмент. У санок и оффтопика тоже есть подобный инструментарий.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Выпуск системы динамической отладки SystemTap 2.5"  –1 +/
Сообщение от Нанобот (ok) on 05-Май-14, 17:15 
>2048.stp - реализация игры 2048, выполняемая в пространстве ядра

когда будут angry birds и counter strike?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Выпуск системы динамической отладки SystemTap 2.5"  +/
Сообщение от Аноним (??) on 05-Май-14, 17:23 
Ну вообщето сани этот сегмент и начали со своим Dtrace.
Топик - это ответ лапчатых мировому империализьму ... :)

PS: О - а в форточках то чего? Там разве есть что то на тему?!

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

15. "Выпуск системы динамической отладки SystemTap 2.5"  +1 +/
Сообщение от rob pike on 05-Май-14, 17:59 
На ответ больше тянет ktap, несмотря на молодость.
Впрочем, в Linux как всегда - "вали валом, потом разберем".
perf, DTrace (сразу два - DTrace4Linux и Оракловый), ktap, systemtap, LTTng - только даже скопом все вместе до санкового DTrace не дотягивающие.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

16. "Выпуск системы динамической отладки SystemTap 2.5"  +/
Сообщение от Аноним (??) on 05-Май-14, 18:55 
> даже скопом все вместе до санкового DTrace не дотягивающие.

Ну покажите мне DTrace-аналог 2048.stp, для начала.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

18. "Выпуск системы динамической отладки SystemTap 2.5"  +/
Сообщение от linux must _RIP__ on 05-Май-14, 20:36 
а нафига? код который systemtap генерит приходится выкинуть - проще самому писать на kprobes, jprobles, kretprobes. выходит примерно тот же объем кода..
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

19. "Выпуск системы динамической отладки SystemTap 2.5"  +/
Сообщение от Мяут (ok) on 05-Май-14, 20:40 
ЕМНИП, у них на каком-то из Sun Tech Days змейку показывали.

Но вообще нужно понимать, что D в DTrace очень ограничен по возможностям - что в общем-то оправдано (язык довольно узкоспециализированный). SystemTap Language - это обертка на C, так что на нем можно писать все что угодно.

P.S. Аналог выглядит так:
#!/usr/sbin/dtrace -w
BEGIN {
   system("firefox http://gabrielecirulli.github.io/2048/");
}

:)

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

20. "Выпуск системы динамической отладки SystemTap 2.5"  +/
Сообщение от umbr (ok) on 05-Май-14, 21:11 
DTrace крут не сам по себе, а тем что у Солярки датчики для него во все щели понапиханы.
Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

21. "Выпуск системы динамической отладки SystemTap 2.5"  +/
Сообщение от rob pike on 05-Май-14, 21:55 
Как сказал один древний китайский поэт, больше шансов увидеть Quake на D, чем systemtap на продакшн-сервере.
После осознания этого факта, спорить о функциональности даже неинтересно.
Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

22. "Выпуск системы динамической отладки SystemTap 2.5"  +/
Сообщение от Аноним (??) on 06-Май-14, 04:17 
Ну он там ещё что то про staging и соотв. ЫнжЫнЫринг чего то там говорил ... но - "по китайски - это плохо звучит, а на русский не переводится"(С), да :)
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

23. "Выпуск системы динамической отладки SystemTap 2.5"  +/
Сообщение от Аноним (??) on 06-Май-14, 04:19 
>>2048.stp - реализация игры 2048, выполняемая в пространстве ядра
> когда будут angry birds и counter strike?

Сразу после systemtap_D_ ... в очередь **** дети! :)

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

24. "Выпуск системы динамической отладки SystemTap 2.5"  +/
Сообщение от rob pike on 06-Май-14, 06:39 
А это совсем другая песня.
Средства для разработки и отладки - это, конечно, хорошо.
Но вот когда можно совершенно спокойно иметь DTrace на всех боевых серверах - и быстро разобраться в проблеме, не тратя три дня на (часто - таки тщетные) попытки её воспроизведения на staging - это, знаете ли, переводит его на совершенно другой уровень.
Но вы, разумеется, можете рассказать про сферическое покрытие тестами в вакууме и про нибывает и нинужна.
Ответить | Правка | ^ к родителю #22 | Наверх | Cообщить модератору

25. "Выпуск системы динамической отладки SystemTap 2.5"  +/
Сообщение от rob pike on 06-Май-14, 06:40 
Это, конечно, тоже, но и сам по себе тоже крут.
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру