Oracle Company
DTrace jam
eBPF estas bajtkoda interpretilo enkonstruita en la Linukso-kerno, kiu ebligas krei retoperaciajn prizorgantojn, monitori sisteman operacion, interkapti sistemajn vokojn, kontroli aliron, prilabori eventojn kun tempokonservado (perf_event_open), nombri frekvencon kaj ekzekuttempon de operacioj, plenumi spuradon per kprobes. /sondas /spurpunktojn. Danke al la uzo de JIT-kompilo, bajtkodo estas tradukita sur la flugo en maŝinajn instrukciojn kaj efektivigita kun la agado de indiĝena kodo. DTrace povas esti efektivigita aldone al eBPF, simile al kiel ĝi estas efektivigita aldone al eBPF
DTrace-teknologio estis evoluigita por la Solaris operaciumo por solvi la problemon de dinamike spurado de la sistema kerno kaj fina aplikoj, donante al la uzanto la kapablon monitori sistemkonduton en detalo kaj diagnozi problemojn en reala tempo. Dum la senarariga procezo, DTrace ne influas la funkciadon de la studataj aplikaĵoj kaj neniel influas ilian agadon, kio ebligas al vi organizi la analizon de kurantaj sistemoj sur la flugo. Unu el la fortoj de DTrace estas la altnivela D-lingvo, simila al AWK, en kiu estas multe pli facile krei spurajn skriptojn ol uzi la ilojn proponitajn por verki eBPF-traktiloj en C, Python kaj Lua kun eksteraj bibliotekoj.
Inĝenieroj de Oracle ankaŭ laboras pri kreado de eBPF-backend por GCC kaj jam publikigis
Aldone al la bajtkoda generacio-backend, la proponitaj flikoj por GCC ankaŭ inkluzivas libgcc-havenon por eBPF kaj ilojn por generado de ELF-dosieroj, ebligante ekzekuti kodon en la virtuala maŝino eBPF uzante kern-provizitajn ŝargilojn. Nuntempe, kodo en la C-lingvo povas esti tradukita en bajtkodon (ne ĉiuj lingvotrajtoj estas haveblaj), sed estonte ĝi estas atendita vastigi la C-lingvajn kapablojn disponeblajn por uzo, aldoni subtenon por aliaj lingvoj, krei simulilon, kaj aldonu GCC-subtenon por sencimigi eBPF-programojn sen ŝarĝi en la kernon.
fonto: opennet.ru