ftrace
ftrace ( متتبع الدوال ) هو إطار عمل لتتبع العمليات في نواة لينكس . على الرغم من أن اسمه الأصلي، متتبع الدوال، مشتق من قدرة ftrace على تسجيل المعلومات المتعلقة باستدعاءات الدوال المختلفة التي تُنفذ أثناء تشغيل النواة ، إلا أن إمكانيات التتبع في ftrace تغطي نطاقًا أوسع بكثير من العمليات الداخلية للنواة. [ 2 ] [ 3 ]
تفاصيل
بفضل إضافات التتبع المتنوعة، يُمكن استهداف ftrace لنقاط تتبع ثابتة مختلفة ، مثل أحداث الجدولة ، والمقاطعات ، وعمليات الإدخال/الإخراج المُرتبطة بالذاكرة ، وانتقالات حالة طاقة وحدة المعالجة المركزية ، والعمليات المتعلقة بأنظمة الملفات والمحاكاة الافتراضية . كما يُتيح التتبع الديناميكي لاستدعاءات وظائف النواة، مع إمكانية تقييدها اختياريًا بمجموعة فرعية من الوظائف باستخدام أنماط glob ، بالإضافة إلى إمكانية إنشاء رسوم بيانية للاستدعاءات وتقديم تقارير عن استخدام المكدس . في الوقت نفسه، يُمكن استخدام ftrace لقياس فترات الكمون المختلفة داخل نواة لينكس، مثل مدة تعطيل المقاطعات أو الاستباق . [ 2 ] [ 4 ] [ 5 ] : 3-11، 14، 18
يتم بناء نواة لينكس المُفعّلة لـ ftrace بتفعيل خيار تهيئة النواة CONFIG_FUNCTION_TRACER . يتم التفاعل الكامل مع ftrace أثناء التشغيل من خلال ملفات افتراضية قابلة للقراءة والكتابة موجودة في نظام ملفات debugfs مُثبّت خصيصًا ؛ ونتيجةً لذلك، لا يتطلب ftrace أي أدوات مساعدة متخصصة في مساحة المستخدم للتشغيل. [ 2 ] [ 3 ] [ 6 ] ومع ذلك، توجد أدوات مساعدة إضافية في مساحة المستخدم توفر ميزات أكثر تقدمًا لتسجيل البيانات وتحليلها وعرضها؛ ومن أمثلة هذه الأدوات trace-cmd و KernelShark . [ 2 ] [ 5 ] : 31-47 [ 7 ] [ 8 ]
يعتمد برنامج ftrace داخليًا على آلية التنميط الخاصة بمترجم gcc لإضافة تعليمات الآلة إلى النسخ المُجمّعة من جميع دوال نواة النظام على مستوى المصدر ، مما يُعيد توجيه تنفيذ الدوال إلى مسارات التتبع ومكونات التتبع الإضافية الخاصة بـ ftrace التي تُجري عملية التتبع الفعلية. يتم تعديل تعليمات " نقطة الدخول " هذه، التي يُنشئها gcc، بواسطة ftrace عند بدء تشغيل النواة ، وتُغيّر لاحقًا أثناء التشغيل بواسطة ftrace بين تعليمات NOP والقفزات الفعلية إلى مسارات التتبع، وذلك بناءً على أنواع التتبع والخيارات المُهيأة أثناء التشغيل. [ 9 ] [ 10 ]
تم تطوير ftrace بشكل أساسي بواسطة ستيفن روستيدت، وتم دمجه في نواة لينكس الرئيسية في إصدار النواة 2.6.27، والذي تم إصداره في 9 أكتوبر 2008. [ 11 ]
انظر أيضاً
- DTrace – إطار عمل لتتبع مشاكل النواة والتطبيقات وإصلاحها، تم تطويره في الأصل لنظام Solaris
- ktrace – أداة مساعدة لأنظمة BSD Unix و Mac OS X لتتبع تفاعلات النواة مع البرامج
- ltrace – أداة تصحيح أخطاء لينكس، تعرض استدعاءات تطبيقات المستخدم للمكتبات المشتركة
- strace – أداة تصحيح الأخطاء لنظام Linux وبعض الأنظمة الأخرى الشبيهة بنظام Unix، تراقب استدعاءات النظام التي يستخدمها البرنامج وجميع الإشارات المستلمة
- SystemTap – لغة برمجة نصية وأداة مساعدة تُستخدم لفحص أنظمة لينكس
مراجع
- ↑ "مصدر نواة لينكس: ملف kernel/COPYING" . kernel.org . 13 مارس 1994. تم الاطلاع عليه في 11 يونيو 2016 .
- 1 2 3 4 جيك إيدج (13 مارس 2009). "نظرة على ftrace" . LWN.net . تم الاطلاع عليه في 23 يوليو 2014 .
- 1 2 ستيفن روستيدت (16 يونيو 2014). "توثيق نواة لينكس: Documentation/trace/ftrace.txt" . kernel.org . تم الاطلاع عليه في 23 يوليو 2014 .
- ↑ "وثائق Red Hat Enterprise MRG 2، القسم 3.8. استخدام أداة ftrace لتتبع زمن الاستجابة" . Red Hat . 23 مايو 2014. تم الاطلاع عليه في 24 يوليو 2014 .
- 1 2 ستيفن روستيدت (18 أكتوبر 2010). "Ftrace: تتبع نواة لينكس" (ملف PDF) . linuxfoundation.org . مؤرشف من الأصل (ملف PDF) في 8 مارس 2013. تم الاطلاع عليه في 23 يوليو 2014 .
- ↑ "وثائق Red Hat Enterprise Linux 6، القسم 6.5. ftrace" . Red Hat . 14 مارس 2014. تم الاطلاع عليه في 23 يوليو 2014 .
- ↑ ستيفن روستيدت (20 أكتوبر 2010). "trace-cmd: واجهة أمامية لـ Ftrace" . LWN.net . تم الاطلاع عليه في 19 يناير 2015 .
- ↑ ستيفن روستيدت (2 فبراير 2011). "استخدام KernelShark لتحليل جدولة الوقت الحقيقي" . LWN.net . تم الاطلاع عليه في 11 يونيو 2016 .
- ↑ ستيفن روستيدت (5 يناير 2015). "Ftrace Kernel Hooks: أكثر من مجرد تتبع" (ملف PDF) . linuxplumbersconf.org . الصفحات 6-12 ، 24، 34، 56-58 . تاريخ الاطلاع: 11 يونيو 2016 .
- ↑ تيم بيرد (1 نوفمبر 2012). "قياس مدة الوظيفة باستخدام Ftrace" (ملف PDF) . elinux.org . الصفحات 5-6 ، 12-14 . تم الاطلاع عليه في 11 يونيو 2016 .
- ↑ "نواة لينكس 2.6.27، القسم 1.7. دعم ftrace وsysprof" . kernelnewbies.org . 9 أكتوبر 2008. تم الاطلاع عليه في 23 يوليو 2014 .
روابط خارجية
- تصحيح أخطاء النواة باستخدام Ftrace - الجزء الأول والثاني ، LWN.net ، ديسمبر 2009، بقلم ستيفن روستيدت
- أسرار برنامج Ftrace لتتبع الوظائف ، LWN.net، 20 يناير 2010، بقلم ستيفن روستيدت
- Ftrace: مفتاح الإضاءة الخفي ، LWN.net، 13 أغسطس 2014، بقلم بريندان جريج
- مصدر خلل تلف البيانات e1000e ، LWN.net، 21 أكتوبر 2008، بقلم جوناثان كوربيت
- تصحيح الأخطاء
- برنامج مجاني مكتوب بلغة C
- ميزات نواة لينكس
- أدوات برمجة يونكس
- برنامج يستخدم رخصة جنو العمومية العامة
