рдУрд░реЗрдХрд▓ рдХрдВрдкрдиреА
рдбреАрдЯреНрд░реЗрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА
eBPF рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдПрдХ рдмрд╛рдЗрдЯрдХреЛрдб рджреБрднрд╛рд╖рд┐рдпрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдСрдкрд░реЗрд╢рди рд╣реИрдВрдбрд▓рд░ рдмрдирд╛рдиреЗ, рд╕рд┐рд╕реНрдЯрдо рдСрдкрд░реЗрд╢рди рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ, рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдиреЗ, рдПрдХреНрд╕реЗрд╕ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ, рдЯрд╛рдЗрдордХреАрдкрд┐рдВрдЧ (perf_event_open) рдХреЗ рд╕рд╛рде рдЗрд╡реЗрдВрдЯ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ, рдСрдкрд░реЗрд╢рди рдХреА рдЖрд╡реГрддреНрддрд┐ рдФрд░ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ, kprobes рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред /рдЕрдкрд░реЛрдм/рдЯреНрд░реЗрд╕рдкреНрд╡рд╛рдЗрдВрдЯред рдЬреЗрдЖрдИрдЯреА рд╕рдВрдХрд▓рди рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рдмрд╛рдЗрдЯрдХреЛрдб рдХреЛ рддреБрд░рдВрдд рдорд╢реАрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдореВрд▓ рдХреЛрдб рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред DTrace рдХреЛ eBPF рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдареАрдХ рдЙрд╕реА рддрд░рд╣ рдЬреИрд╕реЗ рдЗрд╕реЗ eBPF рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рд╕рд┐рд╕реНрдЯрдо рдХрд░реНрдиреЗрд▓ рдФрд░ рдЕрдВрддрд┐рдо рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдЯреНрд░реЗрд╕ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЛрд▓рд╛рд░рд┐рд╕ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП DTrace рддрдХрдиреАрдХ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЧрдИ рдереА, рдЬрд┐рд╕рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рдиреЗ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдирд┐рджрд╛рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдорд┐рд▓рддреА рд╣реИред рдбрд┐рдмрдЧрд┐рдВрдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рджреМрд░рд╛рди, DTrace рдЕрдзреНрдпрдпрди рдХреЗ рддрд╣рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЙрдирдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рддреБрд░рдВрдд рдЪрд▓ рд░рд╣реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред DTrace рдХреА рд╢рдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ AWK рдХреЗ рд╕рдорд╛рди рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп D рднрд╛рд╖рд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрд╛рд╣рд░реА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рд╛рде C, Python рдФрд░ Lua рдореЗрдВ eBPF рд╣реИрдВрдбрд▓рд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рдП рдЧрдП рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЯреНрд░реЗрд╕рд┐рдВрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред
Oracle рдХреЗ рдЗрдВрдЬреАрдирд┐рдпрд░ GCC рдХреЗ рд▓рд┐рдП eBPF рдмреИрдХрдПрдВрдб рдмрдирд╛рдиреЗ рдкрд░ рднреА рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдкрд╣рд▓реЗ рд╣реА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ
рдмрд╛рдЗрдЯрдХреЛрдб рдЬрдирд░реЗрд╢рди рдмреИрдХрдПрдВрдб рдХреЗ рдЕрд▓рд╛рд╡рд╛, GCC рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкреИрдЪ рдореЗрдВ eBPF рдХреЗ рд▓рд┐рдП рдПрдХ libgcc рдкреЛрд░реНрдЯ рдФрд░ ELF рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдг рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдХрд░реНрдиреЗрд▓-рдкреНрд░рджрддреНрдд рд▓реЛрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ eBPF рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдореЗрдВ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЕрднреА рдХреЗ рд▓рд┐рдП, рд╕реА рднрд╛рд╖рд╛ рдореЗрдВ рдХреЛрдб рдХреЛ рдмрд╛рдЗрдЯрдХреЛрдб рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рд╕рднреА рднрд╛рд╖рд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВ), рд▓реЗрдХрд┐рди рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕реА рднрд╛рд╖рд╛ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ, рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ, рдПрдХ рд╕рд┐рдореНрдпреБрд▓реЗрдЯрд░ рдмрдирд╛рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИ, рдФрд░ рдХрд░реНрдиреЗрд▓ рдореЗрдВ рд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдИрдмреАрдкреАрдПрдл рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреАрд╕реАрд╕реА рд╕рдорд░реНрдерди рдЬреЛрдбрд╝реЗрдВред
рд╕реНрд░реЛрдд: opennet.ru