Oracle выпустила последнюю итерацию DTrace 2.0.0-1.14, которая основывается на функциях трассировки ядра Linux, таких как BPF.
Компания уже десять лет работает над DTrace, хотя со временем собственные возможности трассировки Linux улучшились, и нынешняя версия ограничивается только автономным приложением в пользовательском пространстве, использующим собственные возможности ядра.
Как объяснили разработчики, в DTrace 2.0.0-1.14 функциональность близка к «полноценной» по сравнению с предыдущей реализацией для Linux 1.2 на основе ядра. Так, реализованы поставщик ввода-вывода, действие print(), исправлено множество ошибок.
Обновления:
cpc: проверка счетчика производительности ЦП;
dtrace: зонды (probes) EGIN, END и ERROR;
fbt: датчики функции отслеживания границ (FBT);
lockstat: блокировка связанных зондов;
pid: трассировка границ функции пользовательского пространства;
proc: проверки, связанные с жизненным циклом процесса;
profile: зонды profile-* и tick-* на основе таймера;
rawtp: зонды в стиле SDT для точек трассировки ядра с доступом к необработанным данным;
sched: зонды планирования ЦП;
sdt: статически определяемая трассировка (SDT) для точек трассировки ядра;
sycall: поставщик ввода-вывода системного вызова;
usdt: зонды статически определяемой трассировки пользовательского пространства (USDT).
Версию можно использовать для трассировки в любом ядре Linux, которое обеспечивает её на основе BPF и данных типа BTF, хотя улучшенная функциональность зависит от двух дополнительных патчей ядра.
Источник: habr.com