Uzņēmums Oracle
DTrace jau
eBPF ir Linux kodolā iebūvēts baitkoda tulks, kas ļauj izveidot tīkla operāciju apdarinātājus, pārraudzīt sistēmas darbību, pārtvert sistēmas zvanus, kontrolēt piekļuvi, apstrādāt notikumus ar laika uzskaiti (perf_event_open), skaitīt operāciju biežumu un izpildes laiku, veikt izsekošanu, izmantojot kprobes. /uprobes /tracepoints. Pateicoties JIT kompilācijas izmantošanai, baitkods tiek nekavējoties pārtulkots mašīnas instrukcijās un izpildīts ar vietējā koda veiktspēju. DTrace var ieviest virs eBPF, līdzīgi kā tas tiek ieviests virs eBPF
DTrace tehnoloģija tika izstrādāta operētājsistēmai Solaris, lai atrisinātu sistēmas kodola un gala lietojumprogrammu dinamiskas izsekošanas problēmu, sniedzot lietotājam iespēju detalizēti uzraudzīt sistēmas uzvedību un diagnosticēt problēmas reāllaikā. Atkļūdošanas procesa laikā DTrace neietekmē pētāmo lietojumprogrammu darbību un nekādā veidā neietekmē to veiktspēju, kas ļauj organizēt darbojošos sistēmu analīzi lidojuma laikā. Viena no DTrace stiprajām pusēm ir augsta līmeņa D valoda, līdzīga AWK, kurā ir daudz vieglāk izveidot izsekošanas skriptus, nekā izmantojot piedāvātos rīkus eBPF apstrādātāju rakstīšanai C, Python un Lua valodās ar ārējām bibliotēkām.
Oracle inženieri arī strādā pie eBPF aizmugursistēmas izveides GCC un jau ir publicējuši
Papildus baitkoda ģenerēšanas aizmugursistēmai piedāvātajos GCC ielāpus ir iekļauts arī libgcc ports eBPF un ELF failu ģenerēšanas rīki, kas ļauj izpildīt kodu eBPF virtuālajā mašīnā, izmantojot kodola nodrošinātos ielādes. Pagaidām kodu C valodā var tulkot baitkodā (nav pieejamas visas valodu iespējas), taču nākotnē paredzēts paplašināt lietošanai pieejamās C valodas iespējas, pievienot atbalstu citām valodām, izveidot simulatoru un pievienot GCC atbalstu eBPF programmu atkļūdošanai, neielādējot tās kodolā.
Avots: opennet.ru