عن المشروع
py-spy هي أداة تتبع عينات مكتوبة بلغة Rust مصممة لتحليل برامج Python بكلفة تشغيل منخفضة للغاية. نظراً لتشغيلها في عملية منفصلة وقراءتها ذاكرة البرنامج المستهدف مباشرةً، فإنها آمنة للاستخدام في بيئات الإنتاج.
تشمل القدرات الرئيسية:
- **التتبع غير التدخلي**: تصورها الوقت المستغرق في الدوال دون إعادة تشغيل البرنامج أو تعديل شفرة المصدر.
- **ثلاث وضعيات رئيسية**:
- `record`: يُولّد ملفات تتبع بصيغ مثل رسوم النيران SVG التفاعلية أو ملفات speedscope.
- `top`: يوفر نظرة حية وعالية المستوى للدوال التي تستهلك معظم الوقت، على غرار أمر Unix top.
- `dump`: يُفرّغ مكدس الاستدعاءات الحالي لكل خيط Python، بما في ذلك المتغيرات المحلية اختيارياً.
- **توافق واسع**: يدعم Linux وOSX وWindows وFreeBSD، ويتوافق مع إصدارات CPython 2.3-2.7 و3.3-3.14.
- **ميزات متقدمة**:
- دعم تتبع امتدادات C/C++ أو Cython الأصلية.
- القدرة على تتبع العمليات الفرعية (مثل multiprocessing أو مجموعات عمال gunicorn).
- كشف GIL (قفل المفسر العالمي) لتصفية الخيوط التي تمسك بالقفل.
- وضع غير محجوز لتجنب إيقاف العملية المستهدفة تماماً.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.