منح Claude القدرة على قراءة حفظات خيوط Java — الأقفال الدائرية (deadlocks)، الخيوط طويلة المدى، تثبيت الخيوط الافتراضية، محاصري الطرق الأصلية.
TDA (محلل حفظات الخيوط) يأتي بواجهة رسومية وبوضع MCP. في وضع JAR بلا واجهة، فإنه يعرّض 6+ أدوات لتحليل سجلات الحفظات، وتلخيص الحالة، واكتشاف الأقفال الدائرية، وتحديد موقع الخيوط طويلة المدى، وتحليل تثبيت ناقل الخيوط الافتراضية.
أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.
claude mcp add tda -- TODO 'See README: https://github.com/irockel/tda'
أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.
حالات الاستخدام
استخدامات عملية: tda
تشخيص تعليق JVM من حفظات الخيوط مع TDA
👤 مهندسو backend بلغة Java⏱ ~20 minadvanced
متى تستخدمه: JVM الإنتاج أصبح غير مستجيب؛ لديك سلسلة من حفظات kill -3.
المتطلبات الأساسية
تنزيل tda.jar — github.com/irockel/tda releases
تثبيت Java 21+ — لميزات تحليل Project Loom
الخطوات
تحليل السجل
parse_log على /tmp/threaddumps.log. لخّص: عدد الحفظات، الخيوط لكل حفظة.✓ تم النسخ
→ نظرة عامة على الحفظة
التحقق من وجود أقفال دائرية
check_deadlocks عبر جميع الحفظات. أي خيوط، أي أقفال؟✓ تم النسخ
→ دورات أقفال دائرية إن وجدت
البحث عن الخيوط طويلة المدى
find_long_running الخيوط المستمرة عبر جميع الحفظات. ماذا تفعل؟✓ تم النسخ
→ قائمة مع رؤوس المكدس
النتيجة: خيط محدد + قفل + مسار رمز مسؤول عن التعليق.
المزالق
البرامج النصية التي تطبع على stdout تفسد تدفق JSON-RPC — استخدم java -Djava.awt.headless=true -jar tda.jar --mcp دون التفافها في أي برنامج نصي يطبع أيضاً
البحث عن تثبيت ناقل الخيوط الافتراضية في تطبيق Loom
👤 الفرق التي تتبنى Project Loom⏱ ~30 minadvanced
متى تستخدمه: الخيوط الافتراضية لا توفر التزامن الذي توقعته — اشتبه في التثبيت.
الخطوات
التقط الحفظات أثناء الحمل
اجمع حفظات الخيوط عند الحمل الذروة؛ حللها parse_log في TDA.✓ تم النسخ
→ الحفظات محملة
تحليل
analyze_virtual_threads. عرض مناطق تثبيت الناقل ورمز Java الذي يثبتها (عادةً كتل synchronized أو طرق أصلية).✓ تم النسخ
→ قائمة التثبيت مع تلميحات المصدر
النتيجة: إصلاحات موجهة (ReentrantLock بدلاً من synchronized، إلخ) مدعومة بالأدلة.
تحديد الخيوط العالقة في الطرق الأصلية
👤 مهندسو الأداء في التطبيقات الثقيلة على JNI⏱ ~15 minadvanced
متى تستخدمه: يتكامل تطبيقك مع مكتبات أصلية وتشك في استدعاءات أصلية محجوبة.
الخطوات
قائمة الخيوط المحجوبة الأصلية
get_native_threads للحفظة #3. أي طرق أصلية هي عالقة فيها؟✓ تم النسخ