DTrace - впечатляющая мощная система трассировки, первоначально из Solaris, но переносится на FreeBSD и Mac OSX.Вызов функции C из сценариев DTrace
DTrace использует язык высокого уровня под названием D не в отличие от AWK или C. Вот пример:
io:::start
/pid == $1/
{
printf("file %s offset %d size %d block %llu\n", args[2]->fi_pathname,
args[2]->fi_offset, args[0]->b_bcount, args[0]->b_blkno);
}
Использование командной строки sudo dtrace -q -s <name>.d <pid>
все IOs возникла из этого процесса вошедшего.
Мой вопрос в том, что и как можно вызвать пользовательские функции C из сценария DTrace для выполнения расширенных операций с данными трассировки во время самой трассировки.