Ettevõte Oracle kavatseb DTrace'i Linuxile ümber töötada, kasutades eBPF-i

Oracle Corporation teatas DTrace’i muudatuste edastamise töö ja DTrace’i dünaamilise silumise tehnoloogia rakendamise plaanid Linuxi tuuma vaikimisi infrastruktuuri, sealhulgas näiteks eBPF alatehnoloogia kasutamise osas. Alguses oli DTrace’i kasutamisel Linuxis peamine probleem litsentsimääruste ühilduvus, kuid 2018. aastal litsentseeris ettevõte Oracle uuesti DTrace’i koodi GPLv2 alusel.

DTrace on juba pikka aega olemas Oracle Linuxi jaotuse laiendatud tuumas, kuid selle kasutamiseks teistes jaotistes on vajalik rakendada täiendavaid tuuma patšid, mis piirab antud tehnoloogia kasutusvõimalusi. Näiteks on Oracle valmistas valmistanud põhjaliku juhendi DTrace’i installimiseks ja kasutamiseks Fedora Linuxis. Installimiseks on vajalik tööriistadest ja Linuxi tuuma, mis on koostatakse Oracle’i ja Fedora patšidega, täiendav muster. , mis kõrvaldab liigset viivitust MMC draiveris (MMC ühendatakse kaardi püsivara kaudu ja draiveri käivitamise hetkel on juba aktiivne) ning käivitab MMC ja FEC (Ethernet) draiverite initsialiseerimise paralleelses režiimis.Kerne võib automatiseerida Oracle’i ja Fedora patšidega tuuma koostamise protsessi ülesandeid. skripti.

eBPF on Linuxi tuumasse sisseehitatud bytecode’i tõlkija, mis võimaldab luua võrgutegevuste töötlejaid, jälgida süsteemide tööd, püüda süsteemikõnesid, kontrollida juurdepääsu, töötleda sündmusi ajatempleid (perf_event_open) säilitades, lugeda operatsioonide sagedust ja kestust, teostada jälgimist kprobes/uprobes/tracepoints abil. JIT-kompileerimise kasutamine võimaldab bytecode’i koheselt tõlkida masinakeelde ja käitada seda natiivkoodi jõudlusega. DTrace’i saab rakendada eBPF-i peal, sarnaselt sellele, kuidas on olemasolevad jälgimisriistad eBPF-i peal. kasutavad DTrace’i tehnoloogia loodi Solaris operatsioonisüsteemi jaoks, et lahendada dünaamilise tuuma jälgimise ja lõpprakenduste jälgimise probleeme, andes kasutajale võimaluse detailselt jälgida süsteemi käitumist ja reaalajas probleeme diagnoosida. DTrace’i silumise protsess ei mõjuta uuritavate rakenduste tööd ja ei avalda nende jõudlusele mingit mõju, mis võimaldab reaalajas töötavate süsteemide analüüsi. DTrace’i tugevuse osas on kõrgetasemeline D-keel, mis sarnaneb AWK-ga, mille abil on oluliselt lihtsam luua jälgimisskripte kui kasutada eBPF-i jaoks pakutud töötlejate kirjutamise vahendeid C, Python ja Lua keeltel koos välimiste bibliotekkidega.

DTrace tehnoloogia loodi Solaris operatsioonisüsteemi jaoks, et lahendada dünaamilise jälgimise ülesandeid, pakkudes kasutajale võimalust süvitsi jälgida süsteemi käitumist ja reaalajas diagnoosida probleeme. DTrace ei mõjuta debugeerimise käigus uuritavate rakenduste tööd ega nende jõudlust, võimaldades seeläbi analüüsida töötavaid süsteeme jooksvalt. DTrace tugevate külgedena mainitakse D-keelt, mis sarnaneb AWK-le, millega on oluliselt lihtsam luua jälgimissekke, võrreldes eBPF-i jaoks pakutud C, Python ja Lua keeltel väliste raamatukogudega kirjutatud töötlusvahenditega.

Oracle'i insenerid töötavad samuti eBPF tagapinna väljatöötamise kallal GCC jaoks ja on juba avaldanud patšide kogumit eBPF toetuse integreerimiseks GCC-s ja saavutanud koodi lisamise GNU binutils jaoks eBPF toe osas. Esialgu põhineb eBPF-i toe tagapind LLVM tehnoloogiatel, kuid Oracle on huvitatud GCC-sse eBPF-ile suunatud programmide genereerimise lisamisest, võimaldades kasutada ühtset tööriistade kogumit nii Linuxi tuumade kui ka eBPF programmide kompileerimiseks.

Peale bajtikoodi genereerimiseks mõeldud tagapinna sisaldavad GCC-le pakutavad plaastrid ka libgcc eBPF-ile portimist ning ELF-failide genereerimise vahendeid, mis võimaldavad koodi käivitada eBPF virtuaalmasinas kasutades tuuma pakutavaid laadijaid. Praegu saab bajtikoodiks tõlkida C keeles kirjutatud koodi (kuid mitte kõik keele võimalused ei ole saadaval), kuid tulevikus oodatakse C keele toetuse laiendamise, teiste keelte toetamiste, simulaatori loomise ja GCC toe lisamise võimaluste suurendamist eBPF programmide tõrkeotsinguks ilma tuumasse laadimata.

Allikas: opennet.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster