Oracle şirkəti
Artıq DTrace
eBPF Linux nüvəsində quraşdırılmış bayt kodu tərcüməçisidir ki, bu da sizə şəbəkə əməliyyat idarəçiləri yaratmağa, sistemin işinə nəzarət etməyə, sistem zənglərini ələ keçirməyə, girişi idarə etməyə, vaxtın hesablanması (perf_event_open) ilə hadisələri prosesə salmağa, əməliyyatların tezliyini və icra vaxtını saymağa, kproblardan istifadə edərək izləmə aparmağa imkan verir. / problar / iz nöqtələri. JIT kompilyasiyasının istifadəsi sayəsində bayt kodu tez bir zamanda maşın təlimatlarına çevrilir və yerli kodun icrası ilə yerinə yetirilir. DTrace, eBPF üzərində necə həyata keçirildiyi kimi, eBPF-nin üstündə də həyata keçirilə bilər.
DTrace texnologiyası Solaris əməliyyat sistemi üçün sistem nüvəsinin və son proqramların dinamik izlənilməsi problemini həll etmək üçün hazırlanmışdır, istifadəçiyə sistem davranışını ətraflı şəkildə izləmək və real vaxt rejimində problemlərin diaqnostikasını aparmaq imkanı verir. Sazlama prosesi zamanı DTrace tədqiq olunan proqramların işinə təsir göstərmir və heç bir şəkildə onların işinə təsir göstərmir, bu da işləyən sistemlərin təhlilini tez bir zamanda təşkil etməyə imkan verir. DTrace-in güclü tərəflərindən biri AWK-ya bənzər yüksək səviyyəli D dilidir ki, burada xarici kitabxanalarla C, Python və Lua dillərində eBPF işləyicilərini yazmaq üçün təklif olunan vasitələrdən istifadə etməkdənsə, izləmə skriptləri yaratmaq daha asandır.
Oracle mühəndisləri də GCC üçün eBPF backend yaratmaq üzərində işləyirlər və artıq nəşr ediblər
Bayt kodu yaratmaq üçün arxa plana əlavə olaraq, GCC üçün təklif olunan yamaqlara eBPF üçün libgcc portu və ELF faylları yaratmaq üçün alətlər də daxildir ki, bu da nüvə ilə təmin edilmiş yükləyicilərdən istifadə edərək eBPF virtual maşınında kodu icra etməyə imkan verir. Hələlik, C dilindəki kod baytkoda çevrilə bilər (bütün dil xüsusiyyətləri mövcud deyil), lakin gələcəkdə istifadə üçün mövcud olan C dili imkanlarının genişləndirilməsi, digər dillər üçün dəstəyin əlavə edilməsi, simulyatorun yaradılması və nüvəyə yükləmədən eBPF proqramlarının sazlanması üçün GCC dəstəyi əlavə edin.
Mənbə: opennet.ru