Oracle tuam txhab
DTrace xa
eBPF yog tus neeg txhais lus bytecode ua rau hauv Linux ntsiav uas tso cai rau koj los tsim cov neeg ua haujlwm hauv network, saib xyuas cov haujlwm ua haujlwm, cuam tshuam kev hu xov tooj, tswj kev nkag mus, txheej txheem txheej txheem nrog sijhawm ua haujlwm (perf_event_open), suav zaus thiab sijhawm ua haujlwm ntawm kev ua haujlwm, ua tracing siv kprobes /uprobes /tracepoints. Ua tsaug rau kev siv JIT muab tso ua ke, bytecode tau txhais ntawm ya mus rau hauv cov lus qhia tshuab thiab ua tiav nrog kev ua haujlwm ntawm cov cai ib txwm muaj. DTrace tuaj yeem siv rau sab saum toj ntawm eBPF, zoo ib yam li nws tau siv rau saum eBPF
DTrace thev naus laus zis tau tsim los rau Solaris operating system los daws qhov teeb meem ntawm kev tshawb nrhiav qhov system kernel thiab kawg daim ntawv thov, muab cov neeg siv lub peev xwm los saib xyuas cov kev coj ua hauv kev nthuav dav thiab kuaj cov teeb meem hauv lub sijhawm. Thaum lub sij hawm debugging txheej txheem, DTrace tsis cuam tshuam rau kev khiav hauj lwm ntawm daim ntawv thov nyob rau hauv kev kawm thiab tsis nyob rau hauv ib txoj kev cuam tshuam rau lawv cov kev ua tau zoo, uas tso cai rau koj los npaj cov kev soj ntsuam ntawm khiav systems ntawm ya. Ib qho ntawm qhov muaj zog ntawm DTrace yog qib siab D hom lus, zoo ib yam li AWK, uas nws yooj yim dua los tsim cov ntawv tracing dua li siv cov cuab yeej muab rau kev sau eBPF handlers hauv C, Python thiab Lua nrog cov tsev qiv ntawv sab nraud.
Cov kws tshaj lij los ntawm Oracle tseem tab tom ua haujlwm tsim ib qho eBPF backend rau GCC thiab tau tshaj tawm
Ntxiv rau cov bytecode tiam backend, cov lus thov thaj ua rau thaj rau GCC kuj suav nrog libgcc chaw nres nkoj rau eBPF thiab cov cuab yeej tsim cov ntaub ntawv ELF, ua rau nws muaj peev xwm ua tiav cov lej hauv eBPF lub tshuab virtual siv cov khoom siv kernel. Txog tam sim no, cov lej hauv C tuaj yeem muab txhais ua bytecode (tsis yog txhua hom lus muaj), tab sis yav tom ntej nws yuav tsum nthuav dav C hom lus muaj peev xwm siv tau, ntxiv kev txhawb nqa rau lwm yam lus, tsim lub simulator, thiab ntxiv GCC kev txhawb nqa rau kev debugging eBPF cov kev pab cuam yam tsis muaj kev thauj khoom rau hauv cov ntsiav.
Tau qhov twg los: opennet.ru