Oracle yayi niyyar sake fasalin DTrace don Linux ta amfani da eBPF

Kamfanin Oracle ya ruwaito game da aiki kan canja wurin sauye-sauye masu alaƙa da DTrace zuwa sama da kuma shirye-shiryen aiwatar da DTrace fasaha mai ɗorewa mai ƙarfi a saman daidaitattun kayan aikin kernel na Linux, wato ta amfani da tsarin ƙasa kamar eBPF. Da farko, babbar matsalar amfani da DTrace akan Linux shine rashin daidaituwa a matakin lasisi, amma a cikin 2018 Oracle. relicensed Lambar DTrace a ƙarƙashin GPLv2.

DTrace riga kwana biyu ana ba da shi azaman wani ɓangare na tsararren kernel don rarraba Oracle Linux, amma don amfani da shi a wasu rarraba yana buƙatar amfani da ƙarin facin kernel, wanda ke iyakance amfani da wannan fasaha. Alal misali, Oracle shirya cikakken umarnin don shigarwa da amfani da DTrace akan Fedora Linux. Majalisar da ake buƙata don shigarwa kayan aiki da kuma amfani da kernel Linux da aka sake ginawa daga faci. Don aiwatar da aiwatar da aikin kernel tare da facin Oracle da Fedora, an ba da shawarar. rubutun.

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 .аботают kayan aikin gano data kasance.

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 saitin faci don haɗa tallafin eBPF cikin GCC da samu gami da lambar don tallafawa eBPF a cikin GNU binutils. Da farko, baya don goyon bayan eBPF ya dogara ne akan fasahar LLVM, amma Oracle yana sha'awar bayyanar a cikin GCC na daidaitaccen ikon samar da shirye-shirye don eBPF, wanda zai ba da damar amfani da kayan aiki guda ɗaya duka don gina kernel na Linux da kuma gina shirye-shirye. don eBPF.

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

Add a comment