]> Sergey Matveev's repositories - stargrave-blog.git/commit
Пример встраивания USDT
authorSergey Matveev <stargrave@stargrave.org>
Thu, 23 Mar 2023 14:29:22 +0000 (17:29 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Thu, 23 Mar 2023 14:29:22 +0000 (17:29 +0300)
commit5ca3159357ae7a11a674eb2be481d73968b45cf7
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904
parent45c51cb80c1adbcb65b45ef4ff86c271a69b8344
Пример встраивания USDT

https://lists.freebsd.org/archives/freebsd-dtrace/2023-March/000113.html
Пример в рассылку кинули встраивания простой userspace defined пробы
(446a47a0cdcc499785102c7949bf90b3334ef96c060b63251ef2c81ad42baca7dba8caa79c573211)
* Пишем .d файл с описаниям проб: provider cat { probe foo(char *); };
* Запускаем dtrace -h для генерирования соответствующего .h файла
* #include-им его, вызываем пробы (вот только нужно ещё в коде
  if (CAT_FILE_ENABLED()) писать)
* Собственно, подключаемся к пробе и смотрим её:
  dtrace -n 'cat$target:::foo {printf("%s", copyinstr(arg0));}' -c "cat /foo/bar"