The OpenNET Project / Index page

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

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

"Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от opennews (??) on 22-Май-13, 11:26 
Представлен (https://lkml.org/lkml/2013/5/20/691) первый выпуск проекта ktap (https://github.com/ktap/ktap), в рамках которого развивается новая система динамической трассировки работы ядра Linux, предоставляющая собственный скриптовый язык для создания сценариев. Сценарии могут быть использованы как для автоматизации выявления узких мест, так и для изменения параметров работы ядра. При этом возможности не ограничиваются мелким тюнингом, скрипты ktap могут использоваться для изменения поведения систем ядра и даже для реализации дополнительной функциональности.


От существующих систем, таких как SystemTap и DTrace, ktap отличается иной архитектурой и другими принципами организации выполнения скриптов трассировки. Скрипты преобразуются (https://github.com/ktap/ktap/blob/master/doc/design.txt) в байткод, загружаемый и выполняемый уже работающим центральным модулем ktap, что не требует сборки и загрузки отдельных модулей ядра из расчёта отдельный модуль для каждого из сценариев трассировки. Байткод выполняется внутри специальной регистровой виртуальной машины ktapvm (подобный подход близок к DTrace и отличается от SystemTap, в котором  используется транслятор). Байткод является универсальным и может быть использован без пересборки в ядрах на системах с различной архитектурой, т.е. скрипт может быть собран и проверен на ПК разработчика и потом выполнен на встраиваемом устройстве на базе другой процессорной архитектуры.


Синтаксис (https://github.com/ktap/ktap/blob/master/doc/syntax.txt) языка сценариев напоминает язык Си и отличается в основном методом объявления переменных (в ktap используются динамические переменные, без явного объявления), поддержкой вместо массивов табличных структур (хэши ключ/значение, позволяющие указывать t["key"] = 10), отсутствием необходимости завершения строки  знаком ';'. Замедление работы ядра при активации ktap не превышает 10%, после интеграции JIT в виртуальную машину ktapvm паразитную нагрузку планируется свести к 3-5%.

Первый выпуск ktap пока доступен только для 32- и 64-разрядных систем x86. Среди поддерживаемых возможностей отмечается поддержка установки точек трассировки (tracepoints), анализ работы системных вызовов, использование контрольных проверок kprobes и kretprobes, отслеживание вызова обработчиков событий от таймера, оценка состояния стека. Для использования в скриптах поставляется встроенная библиотека функций (https://github.com/ktap/ktap/blob/master/doc/library.txt) для упрощения работы с различными низкоуровневыми механизмами трассировки.


Код проекта распространяется (https://github.com/ktap/ktap) под лицензией GPL и оформлен в виде модуля для ядра Linux. Система может использоваться с ядрами начиная с версии 3.4 (ядро должно быть собрано с опциями CONFIG_EVENT_TRACING, CONFIG_PERF_EVENTS, CONFIG_KPROBES и CONFIG_KALLSYMS) и не требует применения дополнительный патчей для кода ядра.

Пример (https://github.com/ktap/ktap/blob/master/doc/examples.txt) простой функции трассировки системных вызовов:

<font color="#461b7e">
  function eventfun (e) {
        printf("%d %d\t%s\t%s", cpu(), pid(), execname(), e.tostring())
  }
  kdebug.probe("tp:syscalls", eventfun)

  kdebug.probe_end(function () {
         printf("probe end\n")
  })


</font>


URL: https://lkml.org/lkml/2013/5/20/691
Новость: http://www.opennet.dev/opennews/art.shtml?num=36991

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

Оглавление

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


3. "Первый выпуск ktap, новой системы динамической трассировки д..."  +7 +/
Сообщение от Аноним (??) on 22-Май-13, 11:35 
признавайтесь, кто тут шутил про питон в ядре?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Первый выпуск ktap, новой системы динамической трассировки д..."  –1 +/
Сообщение от anonymous (??) on 22-Май-13, 12:35 
Пока там только виртуальная машина, работающая с байткодом, а не полноценный интерпритатор.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

9. "Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от IMHO on 22-Май-13, 13:40 
python не слыхал, а вот про lua в ядре NetBSD слыхал
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

12. "Первый выпуск ktap, новой системы динамической трассировки д..."  +5 +/
Сообщение от lazyden on 22-Май-13, 14:45 
Дык это и есть Lua, только с присобаченным GPL заголовком. Сравни https://github.com/ktap/ktap/blob/master/opcode.c с http://www.lua.org/source/5.1/lopcodes.c.html и найди 10 отличий :)
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

22. "Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от Аноним (??) on 22-Май-13, 15:24 
Ого, прикольно, а почему в новости об этом ни слова?
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

4. "Первый выпуск ktap, новой системы динамической трассировки д..."  +4 +/
Сообщение от Аноним (??) on 22-Май-13, 11:35 
Опять новый язык придумали. Могли же просто Lua/LuaJIT интергировать, как NetBSD.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Первый выпуск ktap, новой системы динамической трассировки д..."  +2 +/
Сообщение от Аноним (??) on 22-Май-13, 15:18 
> Опять новый язык придумали.

Потому что логично ОС писанную на си отлаживать с использованием си-подобного ЯП :)

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

52. "Первый выпуск ktap, новой системы динамической трассировки д..."  –1 +/
Сообщение от Аноним (??) on 23-Май-13, 00:49 
А почему не shell-подобного?
Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

54. "Первый выпуск ktap, новой системы динамической трассировки д..."  +2 +/
Сообщение от Аноним (??) on 24-Май-13, 00:52 
> А почему не shell-подобного?

Наверное поттому что психов которые бы на этом рискнули написать ядро ОС пока не замечено...

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

5. "Первый выпуск ktap, новой системы динамической трассировки д..."  –1 +/
Сообщение от warham on 22-Май-13, 11:47 
>Замедление работы ядра при активации ktap не превышает 10%

А как происходит активация? modprobe ktap?

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

57. "Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от Aquarius (ok) on 24-Май-13, 13:46 
сам спросил - сам ответил
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Первый выпуск ktap, новой системы динамической трассировки д..."  +3 +/
Сообщение от anonymous (??) on 22-Май-13, 12:40 
>отсутствием необходимости завершения строки знаком ';'.

Ну откуда в людях такая ненависть к этому символу, и почему всем так хочется нагрузить перенос смысловым значением, а не оставить просто элементом форматирования?

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

8. "Первый выпуск ktap, новой системы динамической трассировки д..."  +3 +/
Сообщение от Аноним (??) on 22-Май-13, 13:01 
просто парит их постоянно ставить
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

21. "Первый выпуск ktap, новой системы динамической трассировки д..."  +7 +/
Сообщение от Z (??) on 22-Май-13, 15:22 
Еще людей парит начинать предложение с большой буквы, ставить в конце точку и другие знаки препинания. В результате текст становится не читаемым, зато писать легко.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

25. "Первый выпуск ktap, новой системы динамической трассировки д..."  +6 +/
Сообщение от Аноним (??) on 22-Май-13, 15:45 
> Еще людей парит начинать предложение с большой буквы, ставить в конце точку
> и другие знаки препинания. В результате текст становится не читаемым, зато
> писать легко.
>не читаемым

ну ты понел

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

33. "Первый выпуск ktap, новой системы динамической трассировки д..."  +1 +/
Сообщение от Аноним (??) on 22-Май-13, 17:43 
> Еще людей парит начинать предложение с большой буквы, ставить в конце точку
> и другие знаки препинания. В результате текст становится не читаемым, зато
> писать легко.

А правильно писать частицу "не" вас не парит?

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

58. "Первый выпуск ktap, новой системы динамической трассировки д..."  +1 +/
Сообщение от Aquarius (ok) on 24-Май-13, 13:48 
>> Еще людей парит начинать предложение с большой буквы, ставить в конце точку
>> и другие знаки препинания. В результате текст становится не читаемым, зато
>> писать легко.
> А правильно писать частицу "не" вас не парит?

это должно было быть приставкой

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

45. "Первый выпуск ktap, новой системы динамической..."  –6 +/
Сообщение от arisu (ok) on 22-Май-13, 21:12 
заглавная буква в начале предложения действительно не нужна. если, конечно, хороший шрифт, и запятая визуально отличается от точки.

впрочем, если кому-то без заглавных жизнь не мила, то это легко и автоматически правится элементарным скриптом, который почти никогда не ошибается. в отличие от правописания («не читаемым», ага) и знаков препинания.

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

46. "Первый выпуск ktap, новой системы динамической..."  –1 +/
Сообщение от Аноним (??) on 22-Май-13, 22:39 
А
еще
можно
вместо
пробелов
переводы
строки
использовать.

Скрипт
тоже
элементарно
пишется.

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

48. "Первый выпуск ktap, новой системы динамической..."  +/
Сообщение от arisu (ok) on 22-Май-13, 22:42 
(пожимает плечами) можно. используй. разрешаю.
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

49. "Первый выпуск ktap, новой системы динамической..."  –1 +/
Сообщение от Аноним (??) on 22-Май-13, 23:30 
Спасибо!
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

55. "Первый выпуск ktap, новой системы динамической..."  –1 +/
Сообщение от Аноним (??) on 24-Май-13, 00:53 
> (пожимает плечами) можно. используй. разрешаю.

хорошая
однако
идея
надо
будет
взять
на
вооружение

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

62. "Первый выпуск ktap, новой системы динамической..."  +/
Сообщение от Аноним (??) on 01-Июн-13, 23:08 
А еЩе МоЖнО вОт ТаК!11
Ответить | Правка | ^ к родителю #46 | Наверх | Cообщить модератору

11. "Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от Аноним (??) on 22-Май-13, 14:45 
А какие пробы использует systemtap? Те же (kprobes) или собственные?

А то ведь одного языка мало, надо еще во все подсистемы ядра пробы насовать, чтобы он заработал.

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

30. "Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от Мяут (ok) on 22-Май-13, 17:09 
ftrace, но главное т.н. function boundary tracing - т.е. трассировка границ функции (как правило точки входа). Вокруг него построены алиасы (тапсеты)

Вообще SystemTap умеет любую инструкцию/строчку кода

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

38. "Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от Аноним (??) on 22-Май-13, 17:56 
Т.е. kprobes к systemtap не относятся?
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

41. "Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от Мяут (ok) on 22-Май-13, 18:36 
Да не, вроде бы самостоятельная система, к которой умеет цепляться SystemTap
Ответить | Правка | ^ к родителю #38 | Наверх | Cообщить модератору

43. "Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от Anonymus on 22-Май-13, 20:02 
Скоро на этом будут писать кроссплатформенные драйвера для железяк.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

56. "Первый выпуск ktap, новой системы динамической трассировки д..."  +1 +/
Сообщение от Аноним (??) on 24-Май-13, 00:55 
> Скоро на этом будут писать кроссплатформенные драйвера для железяк.

Драйвера в лине и так кроссплатформенные. В том плане что драйвер какого-нибудь 3G свистка на usb совершенно без проблем взлетит и на ARM или MIPS каком-нибудь. Вообще совсем без переделки, приколитесь? :)

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

44. "Первый выпуск ktap, новой системы динамической трассировки д..."  –2 +/
Сообщение от Аноним (??) on 22-Май-13, 21:04 
кде баг. Символично
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

47. "Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от Аноним (??) on 22-Май-13, 22:41 
Всегда говорил, что плазма падает из-за багов в ядре, а Аарон не виноватый :)
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

63. "Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от Аноним (??) on 01-Июн-13, 23:09 
Плазма не падает!
Ответить | Правка | ^ к родителю #47 | Наверх | Cообщить модератору

50. "Первый выпуск ktap, новой системы динамической трассировки д..."  –1 +/
Сообщение от Аноним (??) on 22-Май-13, 23:46 
Отличная новость, похоже всё-таки будет на Linux система, которую можно хотя бы и с оглядкой, но всё же использовать в production.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

53. "Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от Аноним (??) on 23-Май-13, 17:24 
А Вы все еще вывариваете?
Ответить | Правка | ^ к родителю #50 | Наверх | Cообщить модератору

60. "Первый выпуск ktap, новой системы динамической трассировки д..."  +1 +/
Сообщение от Аноним (??) on 26-Май-13, 01:04 
Мы не готовы ронять продакшн.
http://dtrace.org/blogs/brendan/2011/10/15/using-systemtap/
Ответить | Правка | ^ к родителю #53 | Наверх | Cообщить модератору

64. "Первый выпуск ktap, новой системы динамической трассировки д..."  +/
Сообщение от Аноним (??) on 01-Июн-13, 23:10 
> А Вы все еще вывариваете?

Он уже выварил свой череп до состояния анатомического препарата.

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

51. "Первый выпуск ktap, новой системы динамической трассировки д..."  +1 +/
Сообщение от sirGrey email on 23-Май-13, 00:12 
А какие широкие возможности для руткитописателей.

Теперь и на Lua!

Про модель безопасности не слова в новости.

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

59. "Первый выпуск ktap, новой системы динамической трассировки д..."  –1 +/
Сообщение от Аноним (??) on 24-Май-13, 23:49 
Легкий пересказ design.txt проекта

Неожиданно узнаем, что по экспертному мнению создателей сабжа православный SystemTap сливает рассово чуждому DTrace. Но DTrace, гадина такая, совсем не встраивается в Linux. В Solaris встраивается, во FreeBSD встраивается, а в Linux - ну никак. Ясное дело - бясовкая коприрастая на дух не переносит святаго GPL-нага коду. Зато более мощный язык сабжа (внезапно) легко может быть встроен в ядро. Чудеса.

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

61. "Первый выпуск ktap, новой системы динамической трассировки д..."  +1 +/
Сообщение от Аноним (??) on 26-Май-13, 14:13 
Врешь http://ru.wikipedia.org/wiki/Debian_GNU/kFreeBSD
Ответить | Правка | ^ к родителю #59 | Наверх | Cообщить модератору

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

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




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

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