Konpayi Oracle
DTrace deja
eBPF se yon entèprèt bytecode ki entegre nan nwayo Linux la ki pèmèt ou kreye moun kap okipe operasyon rezo a, kontwole operasyon sistèm, entèsepte apèl sistèm, aksè kontwòl, pwosesis evènman ak timekeeping (perf_event_open), konte frekans ak tan ekzekisyon operasyon yo, fè trase lè l sèvi avèk kprobes. /uprobes /tracepoints. Mèsi a itilize nan konpilasyon JIT, bytecode tradui sou vole nan enstriksyon machin ak egzekite ak pèfòmans nan kòd natif natal. DTrace ka aplike sou tèt eBPF, menm jan ak fason li aplike sou tèt eBPF
Teknoloji DTrace te devlope pou sistèm operasyon Solaris la pou rezoud pwoblèm nan dinamik trase nwayo sistèm lan ak aplikasyon pou fen, bay itilizatè a kapasite pou kontwole konpòtman sistèm an detay ak dyagnostike pwoblèm nan tan reyèl. Pandan pwosesis debogaj la, DTrace pa afekte operasyon aplikasyon yo anba etid epi yo pa afekte pèfòmans yo nan okenn fason, ki pèmèt ou òganize analiz la nan sistèm kouri sou vole. Youn nan fòs DTrace se langaj D wo nivo, menm jan ak AWK, kote li pi fasil pou kreye script trase pase lè l sèvi avèk zouti yo ofri pou ekri moun kap okipe eBPF nan C, Python ak Lua ak bibliyotèk ekstèn.
Enjenyè ki soti nan Oracle ap travay tou sou kreye yon backend eBPF pou GCC epi yo deja pibliye
Anplis backend jenerasyon bytecode, patch yo pwopoze pou GCC gen ladan tou yon pò libgcc pou eBPF ak zouti pou jenere fichye ELF, sa ki fè li posib pou egzekite kòd nan machin vityèl eBPF lè l sèvi avèk chajè nwayo bay. Pou kounye a, kòd nan lang C a ka tradui nan bytecode (se pa tout karakteristik lang ki disponib), men nan lavni li espere elaji kapasite lang C ki disponib pou itilize, ajoute sipò pou lòt lang, kreye yon similatè, ak ajoute sipò GCC pou debogaj pwogram eBPF san yo pa chaje nan nwayo a.
Sous: opennet.ru