Kamfanin Oracle
DTrace riga
eBPF mai fassarar bytecode ne wanda aka gina a cikin kernel na Linux wanda ke ba ku damar ƙirƙirar masu gudanar da ayyukan cibiyar sadarwa, saka idanu akan tsarin aiki, karɓar kiran tsarin, samun damar sarrafawa, aiwatar da abubuwan da ke faruwa tare da kiyaye lokaci (perf_event_open), ƙididdige mitar da lokacin aiwatarwa, aiwatar da bincike ta amfani da kprobes. /upprobes /tracepoints. Godiya ga amfani da tarin JIT, ana fassara bytecode akan tashi zuwa cikin umarnin injin kuma ana aiwatar da shi tare da aikin lambar asali. Ana iya aiwatar da DTrace a saman eBPF, kama da yadda ake aiwatar da shi a saman eBPF
An ƙera fasahar DTrace don tsarin aiki na Solaris don magance matsalar bibiyar ƙwanƙwasa tsarin da ƙare aikace-aikace, yana bawa mai amfani damar saka idanu da halayen tsarin daki-daki da gano matsalolin a ainihin lokacin. A lokacin aiwatar da lalatawa, DTrace ba ya shafar aikin aikace-aikacen da aka yi nazari kuma ba ta kowace hanya ya shafi aikin su, wanda ya ba ka damar tsara nazarin tsarin tafiyarwa a kan tashi. Ɗayan ƙarfin DTrace shine babban yaren D, kama da AWK, wanda a cikinsa ya fi sauƙi don ƙirƙirar rubutun bincike fiye da amfani da kayan aikin da aka bayar don rubuta masu sarrafa eBPF a C, Python da Lua tare da ɗakunan karatu na waje.
Injiniyoyi daga Oracle suma suna aiki akan ƙirƙirar eBPF bayan GCC kuma sun riga sun buga
Bugu da ƙari ga ƙarshen ƙarni na bytecode, facin da aka tsara don GCC kuma sun haɗa da tashar tashar libgcc don eBPF da kayan aikin samar da fayilolin ELF, yana ba da damar aiwatar da lamba a cikin na'urar kama-da-wane ta eBPF ta amfani da masu samar da kernel. A yanzu, lambar a cikin harshen C za a iya fassara shi zuwa bytecode (ba duk fasalulluka na harshe ke samuwa ba), amma a nan gaba ana sa ran fadada iyawar harshen C da ke akwai don amfani, ƙara tallafi ga wasu harsuna, ƙirƙirar na'urar kwaikwayo, da kuma ƙara goyon bayan GCC don gyara shirye-shiryen eBPF ba tare da lodawa cikin kernel ba.
source: budenet.ru