ืืืจืช ืืืจืงื
DTrace ืืืจ
eBPF ืืื ืืชืืจืืื ืืชืื ืืืื ื ืืืืืช ืืื ืืงืก ืืืืคืฉืจ ืื ืืืฆืืจ ืืืคืื ืคืขืืืืช ืืจืฉืช, ืื ืืจ ืืช ืคืขืืืช ืืืขืจืืช, ืืืืจื ืงืจืืืืช ืืขืจืืช, ืืฉืืื ืืืืฉื, ืืขืื ืืืจืืขืื ืขื ืฉืืืจืช ืืื (perf_event_open), ืกืคืืจืช ืชืืืจืืช ืืืื ืืืฆืืข ืฉื ืคืขืืืืช, ืืืฆืข ืืขืงื ืืืืฆืขืืช kprobes /uprobes /tracepoints. ืืืืืช ืืฉืืืืฉ ืืงืืืคืืืฆืื ืฉื JIT, bytecode ืืชืืจืื ืชืื ืืื ืชื ืืขื ืืืืจืืืช ืืืื ื ืืืืืฆืข ืขื ืืืฆืืขืื ืฉื ืงืื ืืงืืจื. ื ืืชื ืืืืฉื DTrace ืขื ืืื eBPF, ืืืืื ืืืืคื ืฉืื ืืื ืืืืฉืืช ืขื ืืื eBPF
ืืื ืืืืืืืช DTrace ืคืืชืื ืขืืืจ ืืขืจืืช ืืืคืขืื Solaris ืืื ืืคืชืืจ ืืช ืืขืืืช ืืืขืงื ืืืื ืื ืฉื ืืืืช ืืืขืจืืช ืืืืฉืืื ืืงืฆื, ืื ืฉืืขื ืืง ืืืฉืชืืฉ ืืช ืืืืืืช ืื ืืจ ืืช ืืชื ืืืืช ืืืขืจืืช ืืคืืจืื ืืืืืื ืืขืืืช ืืืื ืืืช. ืืืืื ืชืืืื ืืืชืืจ ืืืืืื, DTrace ืืื ื ืืฉืคืืข ืขื ืคืขืืืช ืืืืฉืืืื ืื ืืืงืื ืืืื ื ืืฉืคืืข ืืฉืื ืืืคื ืขื ืืืืฆืืขืื ืฉืืื, ืื ืฉืืืคืฉืจ ืื ืืืจืื ืืช ืื ืืชืื ืฉื ืืขืจืืืช ืคืืขืืืช ืชืื ืืื ืชื ืืขื. ืืืช ืืืชืจืื ืืช ืฉื DTrace ืืื ืฉืคืช D ืืจืื ืืืืื, ืืืืื ื-AWK, ืฉืื ืืจืื ืืืชืจ ืงื ืืืฆืืจ ืกืงืจืืคืืื ืืืขืงื ืืืฉืจ ืืืฉืชืืฉ ืืืืื ืืืืฆืขืื ืืืชืืืช ืืืคืื eBPF ื-C, Python ื-Lua ืขื ืกืคืจืืืช ืืืฆืื ืืืช.
ืืื ืืกืื ื-Oracle ืขืืืืื ืื ืขื ืืฆืืจืช eBPF backend ืขืืืจ GCC ืืืืจ ืคืจืกืื
ืื ืืกืฃ ื-backend ืฉื ืืฆืืจืช bytecode, ืืชืืงืื ืื ืืืืฆืขืื ืขืืืจ GCC ืืืืืื ืื ืืฆืืืช libgcc ืขืืืจ eBPF ืืืืื ืืืคืงืช ืงืืฆื ELF, ืืืืคืฉืจืื ืืืฆืข ืงืื ืืืืื ื ืืืืืจืืืืืืช eBPF ืืืืฆืขืืช ืืขืืืกืื ืืืกืืคืงืื ืขื ืืื ืืืื. ืืขืช ืขืชื ื ืืชื ืืชืจืื ืงืื ืืฉืคืช C ืืืืืืงืื (ืื ืื ืชืืื ืืช ืืฉืคื ืืืื ืืช), ืื ืืขืชืื ืฆืคืื ืืืจืืื ืืช ืืืืืืช ืฉืคืช C ืืืืื ืืช ืืฉืืืืฉ, ืืืืกืืฃ ืชืืืื ืืฉืคืืช ืืืจืืช, ืืืฆืืจ ืกืืืืืืืจ, ืืื ืืืกืฃ ืชืืืืช GCC ืืืืชืืจ ืืืืื ืืชืืื ืืืช eBPF ืืืื ืืืขืื ืืชืื ืืืืื.
ืืงืืจ: OpenNet.ru