Jump to content

ftrace

ftrace
Разработчик(и) Стивен Ростедт и другие
Первоначальный выпуск 9 октября 2008 г .; 15 лет назад ( 09.10.2008 )
Операционная система Линукс
Тип Расширение ядра
Лицензия GNU GPL версия 2 [1]
Веб-сайт www .ядро .org /док /html /последний /след /индекс .html

ftrace ( Function Tracer ) — это трассировки платформа для ядра Linux . Хотя его первоначальное название, Function Tracer, произошло от способности ftrace записывать информацию, связанную с различными вызовами функций , выполняемыми во время работы ядра , возможности трассировки ftrace охватывают гораздо более широкий диапазон внутренних операций ядра. [2] [3]

Подробности

[ редактировать ]

Благодаря различным плагинам трассировки ftrace может быть нацелен на различные статические точки трассировки , такие как события планирования , прерывания , ввод-вывод с отображением в памяти , переходы между состояниями питания процессора и операции, связанные с файловыми системами и виртуализацией . Кроме того, доступно динамическое отслеживание вызовов функций ядра, которое при необходимости можно ограничить подмножеством функций с помощью globs , а также с возможностью создания графиков вызовов и предоставления отчетов об использовании стека . В то же время ftrace можно использовать для измерения различных задержек в ядре Linux, например, для определения продолжительности отключения прерываний или вытеснения . [2] [4] [5] : 3–11, 14, 18 

Ядро Linux с поддержкой ftrace создается путем включения CONFIG_FUNCTION_TRACER Параметр конфигурации ядра . Все взаимодействие с ftrace во время выполнения осуществляется через доступные для чтения и записи виртуальные файлы, содержащиеся в специально смонтированной debugfs файловой системе ; в результате для работы ftrace не требуются специальные утилиты пользовательского пространства . [2] [3] [6] Однако существуют дополнительные утилиты пользовательского пространства, которые предоставляют более расширенные функции для записи, анализа и визуализации данных; примерами таких утилит являются трассировка-cmd и KernelShark . [2] [5] : 31–47  [7] [8]

Внутри себя ftrace полагается на для механизм профилирования gcc машинных добавления инструкций к скомпилированным версиям всех функций ядра уровня исходного кода , которые перенаправляют выполнение функций на батуты ftrace и плагины трассировки, которые выполняют фактическую трассировку. Эти инструкции « точки входа », созданные gcc, изменяются с помощью ftrace при загрузке ядра и изменяются позже во время выполнения с помощью ftrace между NOP и фактическими переходами к трамплинам трассировки, в зависимости от типов трассировки и опций, настроенных во время выполнения. [9] [10]

ftrace разработан главным образом Стивеном Ростедтом и был объединен с основной веткой ядра Linux в версии ядра 2.6.27, выпущенной 9 октября 2008 года. [11]

См. также

[ редактировать ]
  • DTrace — платформа трассировки для устранения неполадок ядра и приложений, изначально разработанная для Solaris.
  • ktrace - утилита BSD Unix и Mac OS X, которая отслеживает взаимодействие ядра и программы.
  • ltrace — утилита отладки Linux, отображает вызовы пользовательского приложения к общим библиотекам.
  • strace — утилита отладки для Linux и некоторых других Unix-подобных систем, отслеживает системные вызовы, используемые программой, и все полученные сигналы.
  • SystemTap — язык сценариев и утилита, используемая для инструментирования систем Linux.
  1. ^ «Исходный код ядра Linux: файл ядра/КОПИРОВАНИЕ» . ядро.орг . 13 марта 1994 года . Проверено 11 июня 2016 г.
  2. ^ Jump up to: а б с д Джейк Эдж (13 марта 2009 г.). «Взгляд на ftrace» . LWN.net . Проверено 23 июля 2014 г.
  3. ^ Jump up to: а б Стивен Ростедт (16 июня 2014 г.). «Документация ядра Linux: Documentation/trace/ftrace.txt» . ядро.орг . Проверено 23 июля 2014 г.
  4. ^ «Документация Red Hat Enterprise MRG 2, раздел 3.8. Использование утилиты ftrace для отслеживания задержек» . Красная шляпа . 23 мая 2014 года . Проверено 24 июля 2014 г.
  5. ^ Jump up to: а б Стивен Ростедт (18 октября 2010 г.). «Ftrace: трассировка ядра Linux» (PDF) . linuxfoundation.org . Архивировано из оригинала (PDF) 8 марта 2013 года . Проверено 23 июля 2014 г.
  6. ^ «Документация Red Hat Enterprise Linux 6, раздел 6.5. ftrace» . Красная шляпа . 14 марта 2014 года . Проверено 23 июля 2014 г.
  7. ^ Стивен Ростедт (20 октября 2010 г.). «trace-cmd: интерфейс для Ftrace» . LWN.net . Проверено 19 января 2015 г.
  8. ^ Стивен Ростедт (2 февраля 2011 г.). «Использование KernelShark для анализа планировщика реального времени» . LWN.net . Проверено 11 июня 2016 г.
  9. ^ Стивен Ростедт (5 января 2015 г.). «Перехватчики ядра Ftrace: больше, чем просто трассировка» (PDF) . linuxplumbersconf.org . стр. 6–12, 24, 34, 56–58 . Проверено 11 июня 2016 г.
  10. ^ Тим Берд (1 ноября 2012 г.). «Измерение продолжительности функции с помощью Ftrace» (PDF) . elinux.org . стр. 5–6, 12–14 . Проверено 11 июня 2016 г.
  11. ^ «Ядро Linux 2.6.27, раздел 1.7. ftrace, поддержка sysprof» . kernelnewbies.org . 9 октября 2008 года . Проверено 23 июля 2014 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: c437c19ce4172a1cd15e1611b2b05227__1671933360
URL1:https://arc.ask3.ru/arc/aa/c4/27/c437c19ce4172a1cd15e1611b2b05227.html
Заголовок, (Title) документа по адресу, URL1:
ftrace - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)