The OpenNET Project / Index page

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

Релиз системы динамической отладки SystemTap 2.4

11.11.2013 11:14

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

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

В новом выпуске добавлена поддержка контрольных вызовов для отслеживания работы виртуальных машин, что позволяет осуществлять отладку в виртуальных окружениях из хост-системы с использованием libvirt. Например: "stap -ve 'probe timer.s(1) { printf("hello!\\n") }' --remote=libvirt://MyVirtualMachine". Увеличена информативность сообщений об ошибках, исключён вывод дублирующихся ошибок. Добавлена поддержка отладочных секций ".gnu_debugdata". Добавлены новые примеры использования SystemTap: strace.stp (симулятор strace), semop-watch.st (отслеживание работы системных вызовов semop/semtimedop), futexes2.stp (отслеживание futex), last_100_frees.stp (вывод последних 100 вызовов libc-функции free).

  1. Главная ссылка к новости (https://lkml.org/lkml/2013/11/...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/38395-systemtap
Ключевые слова: systemtap, trace, debug, linux, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (52) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Vasily_Pupkin (ok), 13:28, 11/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Не нужно. Ждем ktap в апстриме
     
  • 1.2, arisu (ok), 13:50, 11/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > более 100 скриптов на все случаи жизни

    а чтобы кофе варил — есть такой? я волнуюсь: вдруг не все случаи охвачены!

     
     
  • 2.3, asavah (ok), 14:32, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    есть, сначала носки стирает, а потом варит кофе.
     
     
  • 3.4, arisu (ok), 17:28, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > есть, сначала носки стирает, а потом варит кофе.

    с водой, которая осталась от стирки носков?

     
     
  • 4.19, Аноним (-), 19:16, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ого! М'сье то бля естэт! И таки знает толк в ...
    Прямо сверкаешь новыми гранями! Смотри не преборщи. Про один раз , да :)
     
  • 4.38, asavah (ok), 00:25, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    гы, а я вижу идею ты схватил правильно )
     
  • 2.11, Аноним (-), 18:57, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > а чтобы кофе варил — есть такой?

    Сперва стандартизируй периферию. Когда будет стандартный usb-класс "кофеварка" - будет варить :)

     
     
  • 3.14, arisu (ok), 19:03, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> а чтобы кофе варил — есть такой?
    > Сперва стандартизируй периферию. Когда будет стандартный usb-класс «кофеварка» — будет
    > варить :)

    ненене. сказали, что на все случаи жизни. значит, и на нестандартную кофеварку должно быть!

     
     
  • 4.17, Аноним (-), 19:16, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > ненене. сказали, что на все случаи жизни. значит, и на нестандартную кофеварку
    > должно быть!

    А на нестандартную как обычно пробухтят "patches are welcome" :).

     
     
  • 5.21, arisu (ok), 19:17, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> ненене. сказали, что на все случаи жизни. значит, и на нестандартную кофеварку
    >> должно быть!
    > А на нестандартную как обычно пробухтят «patches are welcome» :).

    то есть, опять обманули. ну что за люди такие…

     
     
  • 6.27, Аноним (-), 19:29, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > то есть, опять обманули. ну что за люди такие…

    Почему сразу обманули? Это у тебя в системе нет драйверов под нестандартное оборудование, система отладки в этом не виновата :).

     

  • 1.5, pavlinux (ok), 18:36, 11/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/



    CXX      stap-tapsets.o
    tapsets.cxx: В функции «void validate_module_elf(Dwfl_Module*, const char*, base_query*)»:
    tapsets.cxx:1998:10: ошибка: нет декларации «EM_AARCH64» в этой области видимости
    tapsets.cxx: In constructor «sdt_uprobe_var_expanding_visitor::sdt_uprobe_var_expanding_visitor(systemtap_session&, int, const string&, const string&, const string&, stap_sdt_probe_type, const string&, int)»:
    tapsets.cxx:5613:31: ошибка: нет декларации «EM_AARCH64» в этой области видимости



    Пля... дятлы, выбор архитектуры бинарника вкуячили в код этого бинарника. :)




    switch (elf_machine)
        {
        case EM_386:
          expect_machine = "i?86";
              if (! q->has_process) break; // 32-bit kernel/module
        case EM_X86_64:
          expect_machine2 = "x86_64";
          break;
        case EM_PPC:
        case EM_PPC64:
          expect_machine = "powerpc";
          break;
        case EM_S390: expect_machine = "s390"; break;
        case EM_IA_64: expect_machine = "ia64"; break;
        case EM_ARM: expect_machine = "arm*"; break;
        case EM_AARCH64: expect_machine = "arm64"; break;    
        default: expect_machine = "?"; break;
        }


    А кто-нить видел в живую эмулятор S390 под ARM? :)

    ---
    Зато флаг компилера -Werror поставил

    /usr/include/bits/stdio2.h: В функции «do_file.part.3»:
    /usr/include/bits/stdio2.h:282:2: ошибка: call to «__fread_chk_warn» declared with attribute warning: fread called with bigger size * nmemb than length of destination buffer [-Werror]
    lto1: all warnings being treated as errors
    lto-wrapper: gcc завершилась с кодом возврата 1
    /usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: lto-wrapper failed

     
     
  • 2.7, arisu (ok), 18:39, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • –2 +/
    мало того, что учётка на хабре, так ещё и сообщения компилятора на русском. а я думал, ниже некуда, дно. но тут снизу постучали…
     
     
  • 3.9, pavlinux (ok), 18:51, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > так ещё и сообщения компилятора на русском.

    Не печалься, и ты можешь быть крутым!

    $ rpm -qf /usr/share/locale-langpack/ru_RU.UTF-8/LC_MESSAGES/gcc-4.7.mo
    gcc47-locale-4.7.1_20120723-1.1.1.x86_64

     
     
  • 4.12, arisu (ok), 18:59, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Не печалься, и ты можешь быть крутым!

    неа, не могу. во-первых, нет у меня rpm. а во-вторых, терминал в koi8.

     
     
  • 5.15, Аноним (-), 19:11, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Бздун, ты весь опеннет забздел уже своими высерами.
     
     
  • 6.18, arisu (ok), 19:16, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Бздун, ты весь опеннет забздел уже своими высерами.

    то ли дело твои взвешеные, краткие комментарии, наполненые фактами. продолжай в том же духе.

     
  • 6.22, Аноним (-), 19:19, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Бздун, ты весь опеннет забздел уже своими высерами.

    Он не бздун, он слакварщик. Ждем разрыва хомячка (и его шаблона) на куски.

    Просто наш Кэп .. эээ как бы это сказать... он немнго bonebag. Ненене, не надо тащить серебряные пули и осиновый кол. Даже некромансер может быть полезным.

     
     
  • 7.39, Аноним (-), 01:54, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Просто наш Кэп .. эээ как бы это сказать... он немнго bonebag.
    > Ненене, не надо тащить серебряные пули и осиновый кол. Даже некромансер
    > может быть полезным.

    Некромантия и некрофилия разные вещи :)

     
  • 5.16, pavlinux (ok), 19:13, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Не печалься, и ты можешь быть крутым!
    > неа, не могу. во-первых, нет у меня rpm. а во-вторых, терминал в koi8.

    У тебя всё впереди, Торвальдц в том году тоже не знал команду export TZ="America/Los_Angeles"

     
     
  • 6.20, arisu (ok), 19:16, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > У тебя всё впереди, Торвальдц в том году тоже не знал команду
    > export TZ="America/Los_Angeles»

    а я и до сих пор не знаю. «америка» — это где? «лос анджелес» — это что?

     
     
  • 7.29, pavlinux (ok), 19:37, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >> У тебя всё впереди, Торвальдц в том году тоже не знал команду
    >> export TZ="America/Los_Angeles»
    > а я и до сих пор не знаю. «америка» — это где?

    Вест Индия, там рядом, пять минут на маршрутке.  
    > «лос анджелес» — это что?

    А это Лось-Ангел - хранитель всех лосей.

     
  • 3.10, Аноним (-), 18:56, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > мало того, что учётка на хабре, так ещё и сообщения компилятора на
    > русском. а я думал, ниже некуда, дно. но тут снизу постучали…

    Действительно. Я дважды поделил на ноль. Хотя может павлин именно этого и добивался? :)

     
     
  • 4.13, pavlinux (ok), 19:00, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> мало того, что учётка на хабре, так ещё и сообщения компилятора на
    >> русском. а я думал, ниже некуда, дно. но тут снизу постучали…
    > Действительно. Я дважды поделил на ноль. Хотя может павлин именно этого и
    > добивался? :)

    x/0 = ∞,  -x/0 = -∞;

      

     
     
  • 5.23, Аноним (-), 19:22, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > x/0 = ∞,  -x/0 = -∞;

    Тут ничего не говорится про знак x. А если x = 0? 0/0 = ∞. -0/0 = -∞. Круто.

     
     
  • 6.30, pavlinux (ok), 19:42, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >0/0 = ∞. -0/0 = -∞. Круто.

    Чтоб моск не взорвало:  -0/0 == (-1)*0/0 = и таки да = -∞.
    А вот с -(0/0) - жопа.

     
     
  • 7.48, hhg (ok), 12:46, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Бредите.
    0/0 != ∞
    0/0 == 0*∞
    так что в лучшем случае получите ∀
     
  • 5.25, Аноним (-), 19:26, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > x/0 = ∞,  -x/0 = -∞;

    А зачем вы яйца рисуете?


     
  • 2.8, Аноним (-), 18:48, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > А кто-нить видел в живую эмулятор S390 под ARM? :)

    Мсье знает толк в извращениях! :)

     
     
  • 3.26, Аноним (-), 19:27, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> А кто-нить видел в живую эмулятор S390 под ARM? :)
    > Мсье знает толк в извращениях! :)

    Мсье его собрал, благо опен сорс. Ну а че - какую нить ES-1033 порвёт как Тузик грелку :)

     
     
  • 4.28, Аноним (-), 19:33, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Мсье его собрал, благо опен сорс.

    Еще скажите что на 64-битном ARM, на который павлин каркал :)

     

  • 1.6, asavaha (?), 18:37, 11/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    конешн ;)
     
  • 1.31, pavlinux (ok), 21:17, 11/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кавно старое, под 3 12 не работает code from tmp stapN... большой текст свёрнут, показать
     
  • 1.32, pavlinux (ok), 21:59, 11/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Как меня заёб этот опенсорс, пока пля всё настроишь уже ничё делать не хочется.
    Первый релиз кандидат 3.12 ядра вышел 11 сентября, хули они дам делали два месяца?!
     
     
  • 2.33, arisu (ok), 22:02, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как меня заёб этот опенсорс, пока пля всё настроишь уже ничё делать
    > не хочется .

    а ты сразу ничего не делай: результат тот же самый, а усилий потрачено значительно меньше.

     
     
  • 3.34, pavlinux (ok), 22:07, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> Как меня заёб этот опенсорс, пока пля всё настроишь уже ничё делать
    >> не хочется .
    > а ты сразу ничего не делай: результат тот же самый, а усилий
    > потрачено значительно меньше.

    Да ёпть, думал по быстренькому протрейсю софтику... на ядрищах 3.2.52 и 3.12,
    потому как на 3.12 оно не хрена не работает, потому что API переделали.
    Вместо того, чтоб трахацца со своим софтом, трахаю эти поделки.

     
     
  • 4.35, arisu (ok), 22:11, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    ну, хоть какое-то удовольствие постарайся тогда получить, что ли…
     
  • 2.36, Аноним (-), 22:32, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Как меня заёб этот опенсорс, пока пля всё настроишь уже ничё делать не хочется.

    Не то что блоб нвидии, да? Тот, наверное, так бы и патчил под 3.12 целыми днями чисто ради удовольствия...

    Можно было, конечно, просто прочитать по ссылке, с какими ядрами тестировалось и должно работать, и взять соответствующее ядро - но мы не ищем лёгких путей

     
     
  • 3.37, arisu (ok), 22:44, 11/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    странный ты человек. ну вот надо ему на 3.12 — так он не просто ноет и яйца проветривает, а таки пытается на 3.12 запустить. глядишь — патчи потом отправит. так нет, завсегда придёт Самый Умный и скажет: «да чего ты мудохаешься, дурилка? ты подожди, волшебник на голубом вертолёте всё сделает!»
     
     
  • 4.41, Аноним (-), 03:49, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > странный ты человек. ну вот надо ему на 3.12 — так он не просто ноет

    Ну пока что видно как раз просто нытье: "Как меня заёб этот опенсорс, пока пля всё настроишь уже ничё делать не хочется. Первый релиз кандидат 3.12 ядра вышел 11 сентября, хули они дам делали два месяца?!"

    > глядишь — патчи потом отправит

    И что теперь, уже нужно прямо сейчас начинать ему в ноги кланяться? Вот если отправит - то и ответ на патчи, может быть, другой будет. А пока что я отвечал на его коммент.

    > так нет, завсегда придёт Самый Умный и скажет: «да чего ты мудохаешься, дурилка? ты подожди, волшебник на голубом вертолёте всё сделает!

    Просто не могу смотреть как человек страдает, вконец измученный опенсорсом.
    Пусть уж лучше сделает кто-нибудь, кому это for fun.

     
     
  • 5.42, arisu (ok), 03:55, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну пока что видно как раз просто нытье

    ну да, не прислал тебе почасовой отчёт. сволочь, однозначно. и что он там делал весь этот день?!

    > И что теперь, уже нужно прямо сейчас начинать ему в ноги кланяться?

    достаточно не срать в колодец. потому что так можно попасть не в колодец, а себе за шиворот.

    > Вот если отправит — то и ответ на патчи, может быть,
    > другой будет. А пока что я отвечал на его коммент.

    пока что от него я рабочие патчи видел прямо на опеннете, а от тебя — ни одного.

    > Просто не могу смотреть как человек страдает, вконец измученный опенсорсом.
    > Пусть уж лучше сделает кто-нибудь, кому это for fun.

    почитай на досуге про сарказм. и про чувство юмора. имитировать сам их не пытайся, но попробуй хотя бы научиться распознавать.

     
     
  • 6.43, Аноним (-), 04:20, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > достаточно не срать в колодец. потому что так можно попасть не в колодец, а себе за шиворот.

    Поверю на слово.

    > пока что от него я рабочие патчи видел прямо на опеннете, а от тебя — ни одного.

    А от Торвальдса ты видел рабочие патчи в комментах на опеннете?
    Может просто нормальные люди свои патчи где-то в более подходящих местах обычно публикуют, не задумывался об этом?
    Если только, конечно, кто-то не пытается из-себя тут что-то строить - а это обычно нужно только тем, кто на самом деле мало что из себя представляет.

     
     
  • 7.44, arisu (ok), 04:35, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > А от Торвальдса ты видел рабочие патчи в комментах на опеннете?
    > Может просто нормальные люди свои патчи где-то в более подходящих местах обычно
    > публикуют, не задумывался об этом?

    всё на свете может быть. тем не менее, факты таковы, что патчи от павлина я видел, а патчи от тебя — нет. возможно, линус вообще всё под твою диктовку пишет — но в данном контексте это неважно.

    важно то, что павлин кроме сарказма продемонстрировал умение хоть какие-то патчи делать, и даже я однострочник-другой в комментариях кидал, а ты — нет. поэтому твой наезд на павлина выглядит просто попыткой почесать ЧСВ. и не важно, является ли он этим на самом деле — важно то, что он так выглядит.

    > Может просто нормальные люди свои патчи где-то в более подходящих
    > местах обычно публикуют, не задумывался об этом?

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

     
     
  • 8.45, Аноним (-), 05:10, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Это должно иметь для меня какое-то значение Думаю, нет, мне в принципе все равн... большой текст свёрнут, показать
     
     
  • 9.49, arisu (ok), 14:01, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    что ты мелешь глупости как вижу, не получилось неужели мне опять дурак попался... текст свёрнут, показать
     
     
  • 10.50, Аноним (-), 15:45, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Не переживай так, а то речь твоя становится слишком отрывистой и бессвязной Луч... текст свёрнут, показать
     
     
  • 11.51, arisu (ok), 15:57, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    таки дурак жаль ... текст свёрнут, показать
     
  • 3.40, asavah (ok), 02:12, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    дык с нвыдией человек (pavlinux) разобрался в проблеме, решил её и патчи для полу-хомяков выложил, кстати кул-хабро*бы его незаслуженно обосрали, читал я пост на швабре ...
    и тут тоже разберётся, если захочет.
    такие люди опенсорцу как раз и нужны, а не долбодятлы-онанимы которых в школе даже троллить грамотно не научили.
     
  • 2.47, Andrey Mitrofanov (?), 10:05, 12/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Первый релиз кандидат 3.12 ядра вышел 11 сентября, хули они дам делали
    > два месяца?!

    По конферецциям же катались. Для фана и профита. И тебе б расслабиться.

     

  • 1.46, pavlinux (ok), 05:33, 12/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    linux-3 12 fixes code diff --git a runtime linux alloc c b runtime linux allo... большой текст свёрнут, показать
     
  • 1.52, Gorik (?), 15:01, 03/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подскажыте пож. поставил systemtap на centos 6.7
    пробую запускать скрипты: stap loadavg.stp
    и вывод:
    usage error: tapset file '/usr/share/systemtap/tapset/linux/loadavg.stp' cannot be run directly as a session script.
    parse error: embedded code in unprivileged script; need stap -g
            saw: embedded-code at loadavg.stp:14:1
         source: %{
                 ^

    3 parse errors.
    Pass 1: parse failed.  [man error::pass1]
    Number of similar error messages suppressed: 2.
    Rerun with -v to see them.

    Не могу нагуглить проблему.

     
  • 1.53, Gorik (?), 15:04, 03/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    [root@localhost linux]# stap -v loadavg.stp
    usage error: tapset file '/usr/share/systemtap/tapset/linux/loadavg.stp' cannot be run directly as a session script.
    parse error: embedded code in unprivileged script; need stap -g
            saw: embedded-code at loadavg.stp:14:1
         source: %{
                 ^

    parse error: embedded code in unprivileged script; need stap -g
            saw: embedded-code at loadavg.stp:32:45
         source: function get_loadavg_index:long (indx:long) %{ /* pure */
                                                             ^

    parse error: embedded code in unprivileged script; need stap -g
            saw: embedded-code at loadavg.stp:50:35
         source: function sprint_loadavg:string () %{ /* pure */
                                                   ^

    3 parse errors.
    Pass 1: parsed user script and 107 library script(s) using 206812virt/34704res/3308shr/31880data kb, in 130usr/10sys/148real ms.
    Pass 1: parse failed.  [man error::pass1]

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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