Hui Oracle
Ua loaʻa iā DTrace
ʻO ka eBPF kahi unuhi ʻōlelo bytecode i kūkulu ʻia i loko o ka Linux kernel e hiki ai iā ʻoe ke hana i nā mea lawelawe ʻoihana pūnaewele, nānā i ka hana ʻōnaehana, nā kelepona ʻōnaehana intercept, ka hoʻokele ʻana, ka hana ʻana i nā hanana me ka mālama manawa (perf_event_open), helu pinepine a me ka manawa hoʻokō o nā hana, hana i ka hoʻohana ʻana i nā kprobes /uprobes /tracepoints. Mahalo i ka hoʻohana ʻana o JIT compilation, ua unuhi ʻia ka bytecode ma ka lele i nā ʻōlelo aʻoaʻo mīkini a hoʻokō ʻia me ka hana o ke code maoli. Hiki ke hoʻokō ʻia ʻo DTrace ma luna o ka eBPF, e like me ke ʻano o ka hoʻokō ʻana ma luna o ka eBPF
Ua hoʻomohala ʻia ka ʻenehana DTrace no ka ʻōnaehana hana Solaris e hoʻoponopono i ka pilikia o ka huli ʻana i ka kernel system a me ka hoʻopau ʻana i nā noi, hāʻawi i ka mea hoʻohana i ka hiki ke nānā i ka ʻōnaehana ʻōnaehana me ka kikoʻī a me ka ʻike i nā pilikia i ka manawa maoli. I ka wā o ke kaʻina hana debugging, ʻaʻole pili ʻo DTrace i ka hana o nā noi ma lalo o ke aʻo ʻana a ʻaʻole i pili i kā lākou hana, hiki iā ʻoe ke hoʻonohonoho i ka nānā ʻana o nā ʻōnaehana holo ma ka lele. ʻO kekahi o ka ikaika o DTrace ʻo ia ka ʻōlelo D kiʻekiʻe, e like me AWK, kahi i maʻalahi loa ka hana ʻana i nā palapala hōʻailona ma mua o ka hoʻohana ʻana i nā mea hana i hāʻawi ʻia no ke kākau ʻana i nā mea lawelawe eBPF ma C, Python a me Lua me nā hale waihona puke waho.
Ke hana nei nā ʻenekinia mai Oracle i ka hana ʻana i kahi backend eBPF no GCC a ua paʻi mua
Ma waho aʻe o ka bytecode generation backend, ua hoʻokomo pū ʻia nā pā i manaʻo ʻia no GCC i kahi awa libgcc no ka eBPF a me nā mea hana no ka hoʻokumu ʻana i nā faila ELF, e hiki ai ke hoʻokō i ke code i ka mīkini virtual eBPF me ka hoʻohana ʻana i nā mea hoʻoili i hāʻawi ʻia i kernel. I kēia manawa, hiki ke unuhi ʻia ke code ma ka ʻōlelo C i bytecode (ʻaʻole i loaʻa nā hiʻohiʻona ʻōlelo āpau), akā i ka wā e hiki mai ana e manaʻo ʻia e hoʻonui i nā mana ʻōlelo C i hiki ke hoʻohana, hoʻohui i ke kākoʻo no nā ʻōlelo ʻē aʻe, hana i kahi simulator, a hoʻohui i ke kākoʻo GCC no ka hoʻopau ʻana i nā polokalamu eBPF me ka ʻole o ka hoʻouka ʻana i loko o ka kernel.
Source: opennet.ru