αααα»αα αα»α Oracle
DTrace αα½α
α αΎα
eBPF ααΊααΆα’ααααααααα bytecode αααααααΌαααΆααααααΎαα‘αΎααα
αααα»αααΊαααααΈαα»α
αααα’αα»ααααΆαα±ααα’ααααααααΎαα§ααααααααααααΆαααααα·ααααα·ααΆααααααΆα ααΆαααΆααααααααΆααααααααα ααααΆααα
αΆααααΆαα α
ααΌααααα ααΆααααααααααααΆαα
αΌαααααΎααααΆαα ααααΎαααΆαααααΉαααα·ααΆαααααΆαα½αααΉαααΆααααααΆαα»ααααααααΆ (perf_event_open) ααααΆααααααα αα·ααααααααΆααααααα·ααααα·ααΆα α’αα»ααααααΆαααΆαααΆα αααααααΎ kprobes / uprobes / tracepoints α ααΌαα’ααα»αα
ααααααΆαααααΎααααΆααααΆαα
ααααα JIT ααΌα byte ααααΌαααΆααααααααα
ααΆααΆαααααΆααααααααΆαααΈαααααΆαα α αΎαααααΌαααΆαααααα·ααααα·ααΆαα½αααΉαααααΎαααΆαααααΌαααΎαα DTrace α’αΆα
ααααΌαααΆαα’αα»αααααα
ααΎααααΌααα eBPF αααααααα
ααΉααααααααααΆαααα·ααα
ααΎααααΌααα eBPF
αα αα αααα·ααααΆ DTrace ααααΌαααΆααααααΎαα‘αΎααααααΆααααααααααααααα·ααααα·ααΆα Solaris ααΎααααΈαααααααΆααααα αΆααααΆαααΆαααΆαααΆαααααααααΊααααααααααα αα·ααααααα·ααΈαααα αα ααααααααα±ααα’αααααααΎααααΆααααΌααααααααΆααααα»αααΆααααα½ααα·αα·αααα₯αα·ααΆαααααααααααααΆααααα’α·α αα·ααα·αα·α αααααααα αΆαααα»ααααααααΆααΆαααααααα ααα‘α»ααααααααΆααααα α»α DTrace αα·ααααααΆαααααααααα·ααααα·ααΆααααααααα·ααΈαααααΆααα·ααααΆ αα·ααα·ααααααΆαααααααααΎαααΆααααααα½αααααΆααααααααΆαααΆαα½α αααα’αα»ααααΆαα±αααααα αααΆααα·ααΆαααααααααααααααααα»αααααΎαααΆαααΆαααααΆααα αααα»αα ααααα ααα»α ααααΆαααααα DTrace αααααΆααΆααΆ D ααααα·ααααααααααααααΉα AWK ααααΌαααΆαααααααααΆαα ααααααα»ααααααΆααΆααααααΆααααα½ααααα»αααΆααααααααααααΈαααΆαααΆααααααααΎα§ααααααααααΆααααααααααααα·ααΈαααααααΆαααααααααααΌααααααΆαα eBPF αα αααα»α C, Python αα·α Lua ααΆαα½αααΉααααααΆαααααΆααααα α .
αα·ααααα Oracle αααααα»αααααΎααΆαααΎααΆααααΆααααααααΆαααααα eBPF αααααΆαα GCC α αΎαααΆαααααα»αααααααΆααα½α
α αΎα
ααααααααΈααΎαααααααΆαααααααααααΆαααααααΎα bytecode αααααααααΆαααααΎα‘αΎααααααΆαα GCC αααα½ααααα αΌαα ααα libgcc αααααΆαα eBPF αα·αα§ααααααααααΆαααααααΎαα―αααΆα ELF αααααααΎα±ααααΆα’αΆα ααααΎαααΆαααΌααα αααα»ααααΆαααΈααα·αααα·α eBPF αααααααΎαααααα·ααΈαααα»ααααααααααααααΊαααα αααααΆαααααααα ααΌα C α’αΆα ααααΌαααΆααααααααα ααΆ bytecode (αα·αααΆααα»αααΆαααΆααΆααΆααα’αααα) ααα»αααααα αααα’ααΆαα ααΆααααΌαααΆαααααααΉαααΆααΉααααααΈααααααααα·αααααΆααΆ C αααααΆααααααΆααααααΎααααΆαα ααααααααΆαααΆαααααααααΆααααΆααΆαααααααα αααααΎααααααα·ααΈαααααααααΎ αα·αααααααααΆαααΆαααα GCC αααααΆααααΆαααααΆααααα α»ααααααα·ααΈ eBPF ααααα·αα αΆαααΆα ααααα»ααα αααα»αααΊαααα
ααααα: opennet.ru