Oracle wëlles DTrace fir Linux mat eBPF ëmzeschaffen

Oracle Company gemellt iwwer d'Aarbecht fir d'Transfert vun DTrace-relatéierten Ännerungen op Upstream a Pläng fir d'DTrace dynamesch Debugging Technologie uewen op der Standard Linux Kernel Infrastruktur ëmzesetzen, nämlech mat Ënnersystemer wéi eBPF. Am Ufank war den Haaptproblem mam DTrace op Linux Inkompatibilitéit um Lizenzniveau, awer am 2018 Oracle relizenzéierte DTrace Code ënner GPLv2.

DTrace schonn laang Zait gëtt als Deel vun engem erweiderten Kernel fir d'Oracle Linux Verdeelung ugebueden, awer fir seng Notzung an anere Verdeelungen erfuerdert d'Benotzung vun zousätzleche Kernel Patches, wat d'Benotzung vun dëser Technologie limitéiert. Als Beispill, Oracle virbereet detailléiert Instruktioune fir d'Installatioun an d'Benotzung vun DTrace op Fedora Linux. Assemblée néideg fir Installatioun Tools an d'Benotzung vun engem Linux Kernel opgebaut aus Flecken. Fir d'Ausféierung vum Kernelbau mat Oracle a Fedora Patches ze automatiséieren, gëtt et proposéiert Schrëft.

eBPF ass e Bytecode-Interpreter, deen an de Linux Kernel gebaut ass, deen Iech erlaabt Netzoperatiounshandterer ze kreéieren, Systemoperatioun ze iwwerwaachen, Systemuriff z'ënnerscheeden, Zougang ze kontrolléieren, Veraarbechtungsevenementer mat Timekeeping (perf_event_open), Zuelfrequenz an Ausféierungszäit vun Operatiounen, Tracing mat kprobes ausféieren /uprobes /tracepoints. Dank der Benotzung vun der JIT Kompilatioun gëtt Bytecode op der Flucht a Maschinninstruktiounen iwwersat a mat der Leeschtung vum gebiertege Code ausgefouert. DTrace kann uewen op eBPF implementéiert ginn, ähnlech wéi et uewen op eBPF implementéiert gëtt работают bestehend Tracing Tools.

DTrace Technologie gouf fir de Solaris Betriebssystem entwéckelt fir de Problem vun der dynamescher Tracing vum Systemkernel an Ennapplikatiounen ze léisen, wat dem Benotzer d'Fäegkeet gëtt Systemverhalen am Detail ze iwwerwaachen an d'Problemer an Echtzäit ze diagnostizéieren. Wärend dem Debugging-Prozess beaflosst DTrace net d'Operatioun vun den Applikatiounen déi studéiert ginn an beaflosst op kee Fall hir Leeschtung, wat Iech erlaabt d'Analyse vu lafende Systemer op der Flucht ze organiséieren. Ee vun de Stäerkten vun DTrace ass d'High-Level D Sprooch, ähnlech wéi AWK, an där et vill méi einfach ass Tracing Scripten ze kreéieren wéi d'Tools ze benotzen fir eBPF Handler an C, Python a Lua mat externe Bibliothéiken ze schreiwen.

D'Ingenieuren vun Oracle schaffen och un der Schafung vun engem eBPF Backend fir GCC a si scho publizéiert Patch Set eBPF Ënnerstëtzung an GCC z'integréieren an erreecht abegraff Code fir eBPF an GNU Binutils z'ënnerstëtzen. Am Ufank ass de Backend fir eBPF Support baséiert op LLVM Technologien, awer Oracle ass interesséiert fir d'Erscheinung am GCC vun enger Standardfäegkeet fir Programmer fir eBPF ze generéieren, wat d'Benotzung vun engem Toolkit erlaabt souwuel fir de Linux Kernel ze bauen a fir Programmer ze bauen fir eBPF.

Zousätzlech zum Backend vun der Bytecode Generatioun enthalen déi proposéiert Patches fir GCC och e libgcc Hafen fir eBPF an Tools fir ELF Dateien ze generéieren, wat et méiglech mécht Code an der eBPF virtueller Maschinn auszeféieren mat Kernel geliwwert Loader. Fir de Moment kann Code an der C Sprooch an Bytecode iwwersat ginn (net all Sproochfeatures sinn verfügbar), awer an Zukunft gëtt erwaart datt d'C-Sproochefäegkeeten ausgebaut ginn fir ze benotzen, Ënnerstëtzung fir aner Sproochen ze addéieren, e Simulator erstellen, an GCC Ënnerstëtzung fir Debugging eBPF Programmer addéieren ouni an de Kernel ze lueden.

Source: opennet.ru

Setzt e Commentaire