Khampani ea Oracle
DTrace e se e ntse e le teng
eBPF ke mofetoleli oa bytecode o hahelletsoeng ka har'a kernel ea Linux e u lumellang hore u thehe basebelisi ba ts'ebetso ea marang-rang, ho lekola ts'ebetso ea sistimi, ho thibela mehala ea sistimi, ho laola phihlello, ho sebetsana le liketsahalo ka ho boloka nako (perf_event_open), bala makhetlo le nako ea ts'ebetso, etsa tracking. ho sebelisa kprobes / uprobes /tracepoints. Ka lebaka la ts'ebeliso ea pokello ea JIT, bytecode e fetoleloa e le litaelo tsa mochini ka fofa 'me e etsoa ka ts'ebetso ea khoutu ea lehae. DTrace e ka kenngwa tshebetsong ka hodima eBPF, e tshwanang le kamoo e leng ka hodima eBPF
Theknoloji ea DTrace e ntlafalitsoe bakeng sa sistimi ea ts'ebetso ea Solaris ho rarolla mathata a ho ts'oara kernel ea sistimi le lits'ebetso tsa ho qetela, ho fa mosebelisi bokhoni ba ho lekola boits'oaro ba sistimi ka botlalo le ho fumana mathata ka nako ea nnete. Nakong ea ho lokisa liphoso, DTrace ha e ame ts'ebetso ea likopo tse ithutoang ebile ha e ame ts'ebetso ea tsona ka tsela efe kapa efe, e lumellang ho hlophisa tlhahlobo ea lits'ebetso tsa ho tsamaisa ka fofa. Har'a matla a DTrace, puo ea boemo bo phahameng ea D, e tšoanang le AWK, e tsejoa, eo ho leng bonolo haholo ho ngola litlhaku ho feta ha u sebelisa lisebelisoa tsa ho ngola li-handers tse fanoang bakeng sa eBPF ho C, Python le Lua tse nang le lilaebrari tsa ka ntle. .
Baenjineri ba Oracle ba ntse ba sebetsa ho aha mokokotlo oa eBPF bakeng sa GCC mme ba se ba phatlalalitse
Ntle le mokokotlo oa ho hlahisa li-bytecode, li-patches tse reriloeng bakeng sa GCC li boetse li kenyelletsa kou ea libgcc bakeng sa eBPF le lisebelisoa tsa ho hlahisa lifaele tsa ELF, ho etsa hore ho khonehe ho kenya khoutu mochining oa eBPF o sebelisang li-loaders tse fanoeng ke kernel. Hona joale, khoutu ea C e ka fetoleloa ka bytecode (ha se likarolo tsohle tsa puo tse teng), empa nakong e tlang ho lebeletsoe ho atolosa likarolo tsa puo ea C tse fumanehang bakeng sa tšebeliso, ho eketsa tšehetso bakeng sa lipuo tse ling, ho theha simulator, le ho eketsa tšehetso ea GCC. bakeng sa ho lokisa mananeo a eBPF ntle le ho kenya kernel.
Source: opennet.ru