āĻā§āϞāĻžāĻāĻĄ āϏāĻŋāϏā§āĻā§āĻŽ, āĻŽāĻžāĻāĻā§āϰā§āϏāĻžāϰā§āĻāĻŋāϏ, āĻāĻāϏā§āϞā§āĻā§āĻĄ āĻāύā§āĻā§āĻāύāĻžāϰ āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻžāϰāϞā§āϏ āĻāĻŽā§āĻĒāĻŋāĻāĻāĻŋāĻāϝāĻŧā§āϰ āĻāύā§āϝ āĻĒāĻŖā§āϝ āĻĒā§āϰāϏā§āϤā§āϤāĻāĻžāϰ⧠āϏāĻāϏā§āĻĨāĻž Solo.io, āĻāĻĒā§āύ āϏā§āϰā§āϏ āĻŦāĻžāĻŽā§āĻŦāϞāĻŦāĻŋ āĻā§āϞāĻāĻŋāĻ āĻĒā§āϰāĻāĻžāĻļ āĻāϰā§āĻā§āĨ¤ āĻāϰ āϞāĻā§āώā§āϝ āĻšāϞ⧠āĻāĻžāϰā§āύā§āϞā§āϰ āĻ āĻā§āϝāύā§āϤāϰ⧠āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āώ āĻāĻžāϰā§āĻā§āϝāĻŧāĻžāϞ āĻŽā§āĻļāĻŋāύ⧠āĻāϞāĻŽāĻžāύ eBPF āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§āϞā§āϰ āĻĒā§āϰāϏā§āϤā§āϤāĻŋ, āĻŦāĻŋāϤāϰāĻŖ āĻāĻŦāĻ āύāĻŋāϰā§āĻŦāĻžāĻšāĻā§ āϏāĻšāĻ āĻāϰāĻžāĨ¤ Linux āĻāĻŦāĻ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻ āĻĒāĻžāϰā§āĻļāύ, āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāύā§āĻā§āϰā§āϞ āĻ āϏāĻŋāϏā§āĻā§āĻŽ āĻŽāύāĻŋāĻāϰāĻŋāĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāϰāĻŖ āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤ āĻā§āĻĄāĻāĻŋ Go āĻāĻžāώāĻžāϝāĻŧ āϞā§āĻāĻž āĻāĻŦāĻ Apache 2.0 āϞāĻžāĻāϏā§āύā§āϏā§āϰ āĻ āϧā§āύ⧠āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤
āĻŦāĻžāĻŽā§āĻŦāϞāĻŦāĻŋ āĻāĻāĻāĻŋ āĻāĻŦāĻŋāĻĒāĻŋāĻāĻĢ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§ āĻāϏāĻŋāĻāĻ (āĻāĻĒā§āύ āĻāύā§āĻā§āĻāύāĻžāϰ āĻāύāĻŋāĻļāĻŋāϝāĻŧā§āĻāĻŋāĻ) āĻĢāϰāĻŽā§āϝāĻžāĻā§ āĻāĻāĻāĻŋ āĻāύā§āĻā§āĻāύāĻžāϰ āĻāĻŽā§āĻ āĻšāĻŋāϏāĻžāĻŦā§ āĻĒā§āϝāĻžāĻā§āĻ āĻāϰāĻž āϏāĻŽā§āĻāĻŦ āĻāϰā§, āϝā§āĻāĻŋ āĻĒā§āύāĻāϏāĻāĻāϞāύ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻāĻžāϝāĻŧāĻāĻžāϝāĻŧ āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āĻāĻĒāĻžāĻĻāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āύāĻž āĻāϰ⧠āϝā§āĻā§āύ⧠āϏāĻŋāϏā§āĻā§āĻŽā§ āĻāĻžāϞāĻžāύ⧠āϝā§āϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻŦāĻŋāĻĒāĻŋāĻāĻĢ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰ āĻĨā§āĻā§ āĻāĻāϤ āĻĄā§āĻāĻž āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāĻāϰāĻŖ āϏāĻš āĻŽā§āϞ āĻ āĻāĻļā§ āĻāĻŦāĻŋāĻĒāĻŋāĻāĻĢ āĻā§āĻĄā§āϰ āϏāĻžāĻĨā§ āĻŽāĻŋāĻĨāϏā§āĻā§āϰāĻŋāϝāĻŧāĻž āĻŦāĻžāĻŽā§āĻŦāϞāĻŦāĻŋ āĻĻā§āĻŦāĻžāϰāĻž āύā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ, āϝāĻž āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻāĻ āĻĄā§āĻāĻž āĻŽā§āĻā§āϰāĻŋāĻā§āϏ, āĻšāĻŋāϏā§āĻā§āĻā§āϰāĻžāĻŽ āĻŦāĻž āϞāĻ āĻāĻāĻžāϰ⧠āϰāĻĒā§āϤāĻžāύāĻŋ āĻāϰā§, āϝāĻž āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻžāϰā§āϞ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋāĨ¤ āĻĒā§āϰāϏā§āϤāĻžāĻŦāĻŋāϤ āĻĒāĻĻā§āϧāϤāĻŋāĻāĻŋ āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰā§āĻā§ eBPF āĻā§āĻĄ āϞā§āĻāĻžāϰ āĻāĻĒāϰ āĻĢā§āĻāĻžāϏ āĻāϰāϤ⧠āĻāĻŦāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āϏā§āĻĨāĻžāύ, āϏāĻŽāĻžāĻŦā§āĻļ āĻāĻŦāĻ āĻāĻžāϰā§āύā§āϞ⧠āϞā§āĻĄāĻŋāĻ āĻĨā§āĻā§ āĻāĻ āĻā§āĻĄā§āϰ āϏāĻžāĻĨā§ āĻŽāĻŋāĻĨāϏā§āĻā§āϰāĻŋāϝāĻŧāĻž āϏāĻāĻāĻ āĻŋāϤ āĻāϰ⧠āĻŦāĻŋāĻā§āϰāĻžāύā§āϤ āύāĻž āĻšāĻāϝāĻŧāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧāĨ¤
āĻāĻŦāĻŋāĻĒāĻŋāĻāĻĢ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§āϞāĻŋ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāĻžāϰ āĻāύā§āϝ, āĻāĻāĻāĻŋ āĻĄāĻāĻžāϰ-āϏā§āĻāĻžāĻāϞ "āĻŽā§āĻŽāĻžāĻāĻŋ" āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ, āϝāĻžāϰ āϏāĻžāĻšāĻžāϝā§āϝ⧠āĻāĻĒāύāĻŋ āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻāĻāĻāĻŋ āĻŦāĻšāĻŋāϰāĻžāĻāϤ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻĨā§āĻā§ āĻāĻā§āϰāĻšā§āϰ āĻāĻŦāĻŋāĻĒāĻŋāĻāĻĢ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰ āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ āĻāĻŦāĻ āϏā§āĻĨāĻžāύā§āϝāĻŧ āϏāĻŋāϏā§āĻā§āĻŽā§ āĻāĻāĻŋ āĻāĻžāϞāĻžāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻā§āϞāĻāĻŋāĻ āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻŦāĻžāĻāĻŋāϤ āĻŦāĻŋāώāϝāĻŧā§āϰ āĻāĻŦāĻŋāĻĒāĻŋāĻāĻĢ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰāĻĻā§āϰ āĻāύā§āϝ āϏāĻŋ-āϤ⧠āĻāĻāĻāĻŋ āĻā§āĻĄ āĻĢā§āϰā§āĻŽāĻāϝāĻŧāĻžāϰā§āĻ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻĻā§āϝāĻŧ (āĻŦāϰā§āϤāĻŽāĻžāύ⧠āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻāĻŦāĻ āĻĢāĻžāĻāϞ āĻ āĻĒāĻžāϰā§āĻļāύā§āϰ āĻāύā§āϝ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰ āϝāĻž āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āϏā§āĻā§āϝāĻžāĻā§āϰ āĻāϞāĻā§āϞāĻŋāĻā§ āĻŦāĻžāϧāĻž āĻĻā§āϝāĻŧ āĻāĻŦāĻ āĻĢāĻžāĻāϞ āϏāĻŋāϏā§āĻā§āĻŽ āϏāĻŽāϰā§āĻĨāĻŋāϤ)āĨ¤ āϤā§āϰāĻŋ āĻāϰāĻž āĻāĻžāĻ āĻžāĻŽā§āϰ āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰā§, āĻŦāĻŋāĻāĻžāĻļāĻāĻžāϰ⧠āϤāĻžāϰ āĻāĻā§āϰāĻšā§āϰ āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āĻĻā§āϰā§āϤ āĻŦāĻžāϏā§āϤāĻŦāĻžāϝāĻŧāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
BCC (BPF āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āĻāĻžāϞā§āĻāĻļāύ)-āĻāϰ āĻŦāĻŋāĻĒāϰā§āϤā§, BumbleBee āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻžāϰā§āύā§āϞ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰ āĻā§āĻĄā§āϰ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻĒā§āύāϰā§āύāĻŋāϰā§āĻŽāĻžāĻŖ āĻāϰ⧠āύāĻžāĨ¤ Linux (āĻĒā§āϰāϤāĻŋāĻŦāĻžāϰ āĻāĻāĻāĻŋ eBPF āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āĻāĻžāϞāĻžāύā§āϰ āϏāĻŽāϝāĻŧ BCC, Clang āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻ āύ-āĻĻā§āϝ-āĻĢā§āϞāĻžāĻ āĻāĻŽā§āĻĒāĻžāĻāϞā§āĻļāύ āĻāϰā§āĨ¤) āĻĒā§āϰā§āĻā§āĻŦāĻŋāϞāĻŋāĻāĻŋ āϏāĻāĻā§āϰāĻžāύā§āϤ āϏāĻŽāϏā§āϝāĻž āϏāĻŽāĻžāϧāĻžāύā§āϰ āĻāύā§āϝ CO-RE āĻāĻŦāĻ libbpf āĻā§āϞāĻāĻŋāĻ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāĻā§āĻā§, āϝāĻž āĻā§āĻĄāĻā§ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻāĻŦāĻžāϰ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻžāϰ āϏā§āϝā§āĻ āĻĻā§āϝāĻŧ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻŦāĻŋāĻļā§āώ āĻāĻāύāĻŋāĻāĻžāϰā§āϏāĻžāϞ āϞā§āĻĄāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϝāĻž āϞā§āĻĄ āĻāϰāĻž āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻāĻŋāĻā§ āĻŦāϰā§āϤāĻŽāĻžāύ āĻāĻžāϰā§āύā§āϞ āĻāĻŦāĻ BTF (BPF Type Format) āĻāĻžāĻāĻĒā§āϰ āϏāĻžāĻĨā§ āĻāĻžāĻĒ āĻāĻžāĻāϝāĻŧā§ āύā§āϝāĻŧāĨ¤ BumbleBee āĻšāϞ⧠āĻāĻāĻāĻŋ libbpf āĻ ā§āϝāĻžāĻĄ-āĻ āύ āĻāĻŦāĻ āĻāĻāĻŋ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ eBPF āĻŽā§āϝāĻžāĻĒ āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰ, RingBuffer āĻāĻŦāĻ HashMap-āĻ āϏāĻāϰāĻā§āώāĻŋāϤ āĻĄā§āĻāĻž āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻŦā§āϝāĻžāĻā§āϝāĻž āĻ āĻĒā§āϰāĻĻāϰā§āĻļāύ āĻāϰāĻžāϰ āĻāύā§āϝ āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āĻāĻžāĻāĻĒ āϏāϰāĻŦāϰāĻžāĻš āĻāϰā§āĨ¤
āĻā§āĻĄāĻŧāĻžāύā§āϤ eBPF āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻāĻŦāĻ āĻāĻāĻŋāĻā§ OCI āĻāĻŽā§āĻ āĻšāĻŋāϏāĻžāĻŦā§ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤā§, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ "bee build file_with_code name:version" āĻāĻŽāĻžāύā§āĻĄāĻāĻŋ āĻāĻžāϞāĻžāύ āĻāĻŦāĻ "bee run name:version" āĻāĻŽāĻžāύā§āĻĄāĻāĻŋ āĻāĻžāϞāĻžāύāĨ¤ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§, āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰ āĻĨā§āĻā§ āĻĒā§āϰāĻžāĻĒā§āϤ āĻāĻā§āύā§āĻāĻā§āϞāĻŋ āĻāĻžāϰā§āĻŽāĻŋāύāĻžāϞ āĻāĻāύā§āĻĄā§āϤ⧠āĻāĻāĻāĻĒā§āĻ āĻšāĻŦā§, āϤāĻŦā§ āĻĒā§āϰāϝāĻŧā§āĻāύā§, āĻāĻĒāύāĻŋ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰā§āϰ āϏāĻžāĻĨā§ āĻāĻŦāĻĻā§āϧ āύā§āĻāĻāϝāĻŧāĻžāϰā§āĻ āĻĒā§āϰā§āĻā§ āĻāĻžāϰā§āϞ āĻŦāĻž wget āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻĄā§āĻāĻž āĻĒā§āϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰāĻā§āϞāĻŋāĻā§ OCI- āϏāĻžāĻŽāĻā§āĻāϏā§āϝāĻĒā§āϰā§āĻŖ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞā§āϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻŦāĻŋāϤāϰāĻŖ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, ghcr.io āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ (GitHub āĻāύā§āĻā§āĻāύāĻžāϰ āϰā§āĻāĻŋāϏā§āĻā§āϰāĻŋ) āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻŦāĻšāĻŋāϰāĻžāĻāϤ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰ āĻāĻžāϞāĻžāύā§āϰ āĻāύā§āϝ, āĻāĻĒāύāĻŋ "bee run ghcr.io/solo-io/bumblebee/tcpconnect: āĻāĻŽāĻžāύā§āĻĄāĻāĻŋ āĻāĻžāϞāĻžāϤ⧠āĻĒāĻžāϰā§āύ: $(āĻŽā§āĻŽāĻžāĻāĻŋ āϏāĻāϏā§āĻāϰāĻŖ)âāĨ¤ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋāϤ⧠āĻāĻāĻāĻŋ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰ āϰāĻžāĻāĻžāϰ āĻāύā§āϝ, "āĻŽā§āĻŽāĻžāĻāĻŋ āĻĒā§āĻļ" āĻāĻŽāĻžāύā§āĻĄāĻāĻŋ āĻĒā§āϰāϏā§āϤāĻžāĻŦ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ āϏāĻāϏā§āĻāϰāĻŖ āĻāĻŦāĻĻā§āϧ āĻāϰāĻžāϰ āĻāύā§āϝ, "āĻŽā§āĻŽāĻžāĻāĻŋ āĻā§āϝāĻžāĻ"āĨ¤
āĻāϤā§āϏ: opennet.ru
