Существуют ли способы поддержки зондов usdt (статически определяемая трассировка на уровне пользователя) без перекомпиляции? - PullRequest
0 голосов
/ 05 мая 2019

Я хочу отследить событие запроса mysql, используя такие инструменты ebpf, как bcc , bpftrace и perf .И я считаю, что нам нужно самостоятельно скомпилировать приложение, используя флаг --with-dtrace для поддержки событий USDT.И как работает usdt.Есть ли другой способ использовать usdt без перекомпиляции приложения?

1 Ответ

1 голос
/ 10 мая 2019

Вы можете использовать динамические точки трассировки с perf probe. Эти точки трассировки могут быть определены в любой исполняемой или общей библиотеке, а также в ядре.

Например:

./perf probe -x /path/to/exectuable function_name

Затем они доступны как точки трассировки для perf и друзей. Вы также можете добавить параметры функции или локальные переменные, если позволяет уровень оптимизации.

...