It bedriuw Oracle Company
DTrace al
eBPF is in bytecode-interpreter ynboud yn 'e Linux-kernel wêrmei jo netwurkoperaasjebehannelers kinne oanmeitsje, systeemoperaasje kontrolearje, systeemoproppen ûnderskeppe, tagong kontrolearje, eveneminten ferwurkje mei timekeeping (perf_event_open), frekwinsje en útfieringstiid fan operaasjes telle, tracing útfiere mei kprobes /uprobes /tracepoints. Mei tank oan it brûken fan JIT kompilaasje, bytecode wurdt oerset op 'e fly yn masine ynstruksjes en útfierd mei de prestaasjes fan native koade. DTrace kin wurde ymplementearre boppe op eBPF, fergelykber mei hoe't it wurdt ymplementearre boppe op eBPF
DTrace-technology waard ûntwikkele foar it Solaris-bestjoeringssysteem om it probleem op te lossen fan dynamysk tracing fan de systeemkernel en einapplikaasjes, wêrtroch de brûker de mooglikheid hat om systeemgedrach yn detail te kontrolearjen en problemen yn echt tiid te diagnostearjen. Tidens it debuggenproses hat DTrace gjin ynfloed op de wurking fan 'e applikaasjes dy't ûndersocht wurde en hat gjin ynfloed op har prestaasjes, wêrtroch jo de analyse fan rinnende systemen op 'e flecht kinne organisearje. Ien fan 'e sterke punten fan DTrace is de D-taal op hege nivo, fergelykber mei AWK, wêryn't it folle makliker is om tracing-skripts te meitsjen as it brûken fan de ark oanbean foar it skriuwen fan eBPF-hannelers yn C, Python en Lua mei eksterne bibleteken.
Yngenieurs fan Oracle wurkje ek oan it meitsjen fan in eBPF-backend foar GCC en hawwe al publisearre
Neist de bytecode-generaasje-backend omfetsje de foarstelde patches foar GCC ek in libgcc-poarte foar eBPF en ark foar it generearjen fan ELF-bestannen, wêrtroch it mooglik is om koade út te fieren yn 'e eBPF firtuele masine mei help fan kernel-fersoarge loaders. Foar no kin koade yn 'e C-taal oerset wurde yn bytekoade (net alle taalfunksjes binne beskikber), mar yn 'e takomst wurdt ferwachte dat de C-taalmooglikheden dy't beskikber binne foar gebrûk útwreidzje, stipe tafoegje foar oare talen, in simulator meitsje, en foegje GCC-stipe ta foar it debuggen fan eBPF-programma's sûnder yn 'e kearn te laden.
Boarne: opennet.ru