Какая альтернатива DTrace в Linux?

Насколько я могу судить, реализация DTrace в Linux сдерживается лицензированием и политикой. Какие есть альтернативы в настоящее время?


person JanePhanie    schedule 13.01.2010    source источник
comment
что-нибудь новенькое с dtrace в Linux?   -  person Syntax_Error    schedule 06.01.2011
comment
@Syntax_Error да, он вам больше не нужен: brendangregg.com/blog/2016-10-27/dtrace-for-linux-2016.html   -  person Janus Troelsen    schedule 30.12.2016


Ответы (6)


Systemtap предназначен для решения тех же проблем, что и dtrace, и имеет аналогичный пользовательский интерфейс - пользователь пишет небольшие скрипты, которые прикрепляют действия к именованным зондам.

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

Вы можете увидеть его сравнение с dtrace в этой таблице на веб-сайте systemtap (может быть партизан: - )

Dtrace был частично перенесен на Linux энтузиастом Полом Фоксом и доступен для загрузки, чтобы вы могли попробовать - посмотрите ссылки на его блог.

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

person Alex Brown    schedule 13.01.2010
comment
Я не знал об этом порте DTrace, проверю. Спасибо. - person Pascal Thivent; 13.01.2010

SystemTap - это абстракция более высокого уровня, построенная на Kprobes. Для получения дополнительной информации о том, как работает Kprobes, вы можете прочитать мою техническую статью о LWN.

Как упоминал Алекс, Systemtap, по сути, решает ту же проблему, что и dtrace, за исключением того, что он несколько медленнее (вы можете не воспринимать это так, в зависимости от того, что вы пытаетесь с ним делать), чем dtrace, и не так отполирован или безопасен. использовать.

Чтобы установить пакет разработки SystemTap SDT, попробуйте:

yum install systemtap-sdt-devel
person Sudhanshu    schedule 13.01.2010

sysdig - теперь отличное решение.

Вот некоторые примеры использования (в их вики есть несколько исключительно интересных примеров):

Для дискового ввода-вывода

  • # P3 #
    # P4 #
  • # P5 #
    # P6 #
  • # P7 #
    # P8 #
  • # P9 #
    # P10 #
  • # P11 #
    # P12 #
  • # P13 #
    # P14 #
  • # P15 #
    # P16 #
  • # P17 #
    # P18 #
  • # P19 #
    # P20 #
person ylluminate    schedule 08.07.2014

dtrace существует для Linux (https://github.com/dtrace4linux) и http://crtags.blogspot.com.

person Paul Fox    schedule 03.06.2012

Oracle переносит DTrace на Linux: https://oss.oracle.com/projects/DTrace/

Не знаю, работает ли это только с их дистрибутивом Linux или с любым другим.

person Christian    schedule 18.04.2013
comment
Похоже, они уже сделали все возможное: theregister.co.uk/ 19.02.2018 / - person ; 19.02.2018

В Linux есть strace / ltrace (см. этот пост о strace). Но на самом деле они не эквивалентны DTrace, они просто покрывают небольшую часть того, что может делать DTrace (на самом деле, DTrace значительно превосходит все, что предлагает Linux).

person Pascal Thivent    schedule 13.01.2010
comment
strace ближе к truss, чем к dtrace. - person Mircea Vutcovici; 17.10.2014