شركة أوراكل
دتريس بالفعل
eBPF هو مترجم رمز بايت مدمج في Linux kernel يسمح لك بإنشاء معالجات تشغيل الشبكة، ومراقبة تشغيل النظام، واعتراض مكالمات النظام، والتحكم في الوصول، ومعالجة الأحداث مع ضبط الوقت (perf_event_open)، وحساب التردد ووقت تنفيذ العمليات، وإجراء التتبع باستخدام kprobes /uprobes /tracepoints. بفضل استخدام تجميع JIT، تتم ترجمة الكود الثانوي بسرعة إلى تعليمات الجهاز وتنفيذه بأداء التعليمات البرمجية الأصلية. يمكن تنفيذ DTrace أعلى eBPF، على غرار كيفية تنفيذه أعلى eBPF
تم تطوير تقنية DTrace لنظام التشغيل Solaris لحل مشكلة التتبع الديناميكي لنواة النظام والتطبيقات النهائية، مما يمنح المستخدم القدرة على مراقبة سلوك النظام بالتفصيل وتشخيص المشكلات في الوقت الفعلي. أثناء عملية تصحيح الأخطاء، لا يؤثر DTrace على تشغيل التطبيقات قيد الدراسة ولا يؤثر بأي شكل من الأشكال على أدائها، مما يسمح لك بتنظيم تحليل الأنظمة قيد التشغيل أثناء التنقل. إحدى نقاط قوة DTrace هي لغة D عالية المستوى، المشابهة لـ AWK، حيث يكون إنشاء نصوص التتبع أسهل بكثير من استخدام الأدوات المقدمة لكتابة معالجات eBPF في C وPython وLua مع المكتبات الخارجية.
ويعمل مهندسون من Oracle أيضًا على إنشاء واجهة eBPF الخلفية لدول مجلس التعاون الخليجي وقد قاموا بنشرها بالفعل
بالإضافة إلى الواجهة الخلفية لإنشاء كود البايت، تتضمن التصحيحات المقترحة لـGC أيضًا منفذ libgcc لـ eBPF وأدوات لإنشاء ملفات ELF، مما يجعل من الممكن تنفيذ التعليمات البرمجية في جهاز eBPF الظاهري باستخدام أدوات التحميل المتوفرة من kernel. في الوقت الحالي، يمكن ترجمة التعليمات البرمجية في لغة C إلى كود بايت (لا تتوفر جميع ميزات اللغة)، ولكن من المتوقع في المستقبل توسيع إمكانيات لغة C المتاحة للاستخدام، وإضافة دعم للغات أخرى، وإنشاء جهاز محاكاة، و إضافة دعم دول مجلس التعاون الخليجي لتصحيح أخطاء برامج eBPF دون تحميلها إلى النواة.
المصدر: opennet.ru