Oracle αž˜αžΆαž“αž”αŸ†αžŽαž„αžšαž…αž“αžΆ DTrace αž‘αžΎαž„αžœαž·αž‰αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Linux αžŠαŸ„αž™αž”αŸ’αžšαžΎ eBPF

αž€αŸ’αžšαž»αž˜αž αŸŠαž»αž“ Oracle αžšαžΆαž™αž€αžΆαžšαžŽαŸ αž’αŸ†αž–αžΈαž€αžΆαžšαž„αžΆαžšαž›αžΎαž€αžΆαžšαž•αŸ’αž‘αŸαžšαž€αžΆαžšαž•αŸ’αž›αžΆαžŸαŸ‹αž”αŸ’αžαžΌαžšαžŠαŸ‚αž›αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„ DTrace αž‘αŸ…αž€αžΆαž“αŸ‹αž”αžŽαŸ’αžαžΆαž‰αžαžΆαž„αž›αžΎ αž αžΎαž™αž‚αŸ’αžšαŸ„αž„αž“αžΉαž„αž’αž“αž»αžœαžαŸ’αžαž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαžαžΆαž˜αžœαž“αŸ’αž DTrace αž“αŸ…αž›αžΎαž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž…αžŸαŸ’αžαž„αŸ‹αžŠαžΆαžš αž–αŸ„αž›αž‚αžΊαž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αŸ’αžšαž–αŸαž“αŸ’αž’αžšαž„αžŠαžΌαž…αž‡αžΆ eBPF αž‡αžΆαžŠαžΎαž˜αŸ” αžŠαŸ†αž”αžΌαž„ αž”αž‰αŸ’αž αžΆαž…αž˜αŸ’αž”αž„αž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ DTrace αž“αŸ…αž›αžΎαž›αžΈαž“αž»αž…αž‚αžΊαž—αžΆαž–αž˜αž·αž“αž†αž”αž‚αŸ’αž“αžΆαž“αŸƒαž€αž˜αŸ’αžšαž·αžαž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž†αŸ’αž“αžΆαŸ† 2018 Oracle αž”αžΆαž“αž’αž“αž»αž‰αŸ’αž‰αžΆαž αž›αŸαžαž€αžΌαžŠ DTrace αž€αŸ’αžšαŸ„αž˜ GPLv2.

DTrace αžšαž½αž…αž αžΎαž™ αž™αžΌαžš αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αž‡αžΆαž•αŸ’αž“αŸ‚αž€αž“αŸƒαžαžΊαžŽαŸ‚αž›αžŠαŸ‚αž›αž”αžΆαž“αž–αž„αŸ’αžšαžΈαž€αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™ Oracle Linux αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžαŸ’αžšαžΌαžœαž€αžΆαžšαž”αŸ†αžŽαŸ‡αžαžΊαžŽαŸ‚αž›αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸ‚αž€αž…αžΆαž™αž•αŸ’αžŸαŸαž„αž‘αŸ€αž αžŠαŸ‚αž›αž€αŸ†αžŽαžαŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆαž“αŸαŸ‡αŸ” αž‡αžΆαž§αž‘αžΆαž αžšαžŽαŸ Oracle αžšαŸ€αž”αž…αŸ† αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αž›αž˜αŸ’αž’αž·αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ αž“αž·αž„αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ DTrace αž“αŸ…αž›αžΎ Fedora Linux αŸ” αžαž˜αŸ’αžšαžΌαžœαž€αžΆαžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαŸ†αž‘αžΎαž„ αž§αž”αž€αžšαžŽαŸ αž“αž·αž„αž”αŸ’αžšαžΎαžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž…αžŠαŸ‚αž›αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžœαž·αž‰αž–αžΈ αž”αŸ†αžŽαŸ‡. αžŠαžΎαž˜αŸ’αž”αžΈαž’αŸ’αžœαžΎαžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž“αŸƒαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ†αž‘αžΎαž„αžαžΊαžŽαŸ‚αž›αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž”αŸ†αžŽαŸ‡ Oracle αž“αž·αž„ Fedora αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„ αžŸαŸ’αž‚αŸ’αžšαžΈαž”.

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 αž αžΎαž™αž”αžΆαž“αž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž•αŸ’αžŸαžΆαž™αžšαž½αž…αž αžΎαž™ αžŸαŸ†αžŽαž»αŸ†αž”αŸ†αžŽαŸ‡ αžŠαžΎαž˜αŸ’αž”αžΈαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš eBPF αž‘αŸ…αž€αŸ’αž“αž»αž„ GCC αž“αž·αž„ αžŸαž˜αŸ’αžšαŸαž…αž”αžΆαž“αŸ” αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αžΌαžŠαžŠαžΎαž˜αŸ’αž”αžΈαž‚αžΆαŸ†αž‘αŸ’αžš eBPF αž“αŸ…αž€αŸ’αž“αž»αž„ GNU binutils αŸ” αžŠαŸ†αž”αžΌαž„αž‘αžΎαž™ αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš eBPF αž‚αžΊαž•αŸ’αž’αŸ‚αž€αž›αžΎαž”αž…αŸ’αž…αŸαž€αžœαž·αž‘αŸ’αž™αžΆ LLVM αž”αŸ‰αž»αž“αŸ’αžαŸ‚ Oracle αž…αžΆαž”αŸ‹αž’αžΆαžšαž˜αŸ’αž˜αžŽαŸαž›αžΎαžšαžΌαž”αžšαžΆαž„αž“αŸ…αž€αŸ’αž“αž»αž„ GCC αž“αŸƒαžŸαž˜αžαŸ’αžαž—αžΆαž–αž’αž˜αŸ’αž˜αžαžΆαž€αŸ’αž“αž»αž„αž€αžΆαžšαž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹ eBPF αžŠαŸ‚αž›αž“αžΉαž„αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž”αŸ’αžšαžΎαž”αŸ’αžšαž’αž”αŸ‹αž§αž”αž€αžšαžŽαŸαž˜αž½αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž‘αžΆαŸ†αž„αž€αžΆαžšαž€αžŸαžΆαž„αžαžΊαžŽαŸ‚αž›αž›αžΈαž“αž»αž… αž“αž·αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžŸαžΆαž„αžŸαž„αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ eBPF αŸ”

αž”αž“αŸ’αžαŸ‚αž˜αž–αžΈαž›αžΎαž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž€αŸ’αžšαŸ„αž™αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαž bytecode αž”αŸ†αžŽαŸ‡αžŠαŸ‚αž›αž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ GCC αž€αŸαžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž…αŸ’αžšαž€ libgcc αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ eBPF αž“αž·αž„αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž―αž€αžŸαžΆαžš ELF αžŠαŸ‚αž›αž’αŸ’αžœαžΎαž±αŸ’αž™αžœαžΆαž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž€αžΌαžŠαž“αŸ…αž€αŸ’αž“αž»αž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž eBPF αžŠαŸ„αž™αž”αŸ’αžšαžΎαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž•αŸ’αž‘αž»αž€αžŠαŸ‚αž›αž•αŸ’αžαž›αŸ‹αžŠαŸ„αž™αžαžΊαžŽαŸ‚αž›αŸ” αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αŸαž›αž“αŸαŸ‡ αž€αžΌαžŠ C αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž€αž”αŸ’αžšαŸ‚αž‘αŸ…αž‡αžΆ bytecode (αž˜αž·αž“αž˜αžΆαž“αž˜αž»αžαž„αžΆαžšαž—αžΆαžŸαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž‘αŸ) αž”αŸ‰αž»αž“αŸ’αžαŸ‚αž“αŸ…αž–αŸαž›αž’αž“αžΆαž‚αž αžœαžΆαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‚αŸαžšαŸ†αž–αžΉαž„αžαžΆαž“αžΉαž„αž–αž„αŸ’αžšαžΈαž€αž›αž€αŸ’αžαžŽαŸˆαž–αž·αžŸαŸαžŸαž—αžΆαžŸαžΆ C αžŠαŸ‚αž›αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžšαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž—αžΆαžŸαžΆαž•αŸ’αžŸαŸαž„αž‘αŸ€αž αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž€αŸ’αž›αŸ‚αž„αž’αŸ’αžœαžΎ αž“αž·αž„αž”αž“αŸ’αžαŸ‚αž˜αž€αžΆαžšαž‚αžΆαŸ†αž‘αŸ’αžš GCC αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ†αž”αžΆαžαŸ‹αž€αŸ†αž αž»αžŸαž€αž˜αŸ’αž˜αžœαž·αž’αžΈ eBPF αžŠαŸ„αž™αž˜αž·αž“αž…αžΆαŸ†αž”αžΆαž…αŸ‹αž•αŸ’αž‘αž»αž€αž‘αŸ…αž€αŸ’αž“αž»αž„αžαžΊαžŽαŸ‚αž›αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹