Oracle Maatskappy
DTrace reeds
eBPF is 'n greepkode-interpreter wat in die Linux-kern ingebou is, wat jou toelaat om netwerkoperasiehanteerders te skep, stelselwerking te monitor, stelseloproepe te onderskep, toegang te beheer, gebeure te verwerk met tydmeting (perf_event_open), telfrekwensie en uitvoeringstyd van bedrywighede, opsporing met behulp van kprobes /uprobes /spoorpunte. Danksy die gebruik van JIT-samestelling, word greepkode op die vlug in masjieninstruksies vertaal en uitgevoer met die uitvoering van inheemse kode. DTrace kan bo-op eBPF geïmplementeer word, soortgelyk aan hoe dit bo-op eBPF geïmplementeer word
DTrace-tegnologie is ontwikkel vir die Solaris-bedryfstelsel om die probleem op te los om die stelselkern en eindtoepassings dinamies op te spoor, wat die gebruiker die vermoë gee om stelselgedrag in detail te monitor en probleme intyds te diagnoseer. Tydens die ontfoutingsproses beïnvloed DTrace nie die werking van die toepassings wat bestudeer word nie en beïnvloed dit geensins hul werkverrigting nie, wat u toelaat om die ontleding van lopende stelsels op die vlieg te organiseer. Een van die sterkpunte van DTrace is die hoëvlak D-taal, soortgelyk aan AWK, waarin dit baie makliker is om opsporingsskrifte te skep as om die gereedskap te gebruik wat aangebied word om eBPF-hanteerders in C, Python en Lua met eksterne biblioteke te skryf.
Ingenieurs van Oracle werk ook daaraan om 'n eBPF-agtergrond vir GCC te skep en het reeds gepubliseer
Benewens die bytecode-generering-agterkant, bevat die voorgestelde pleisters vir GCC ook 'n libgcc-poort vir eBPF en gereedskap vir die generering van ELF-lêers, wat dit moontlik maak om kode in die eBPF-virtuele masjien uit te voer met behulp van kern-verskafde laaiers. Vir nou kan kode in die C-taal in greepkode vertaal word (nie alle taalkenmerke is beskikbaar nie), maar daar word in die toekoms verwag om die C-taalvermoëns wat beskikbaar is vir gebruik uit te brei, ondersteuning vir ander tale by te voeg, 'n simulator te skep, en voeg GCC-ondersteuning by om eBPF-programme te ontfout sonder om in die kern te laai.
Bron: opennet.ru