من فضلك تسجيل الدخول أو تسجيل لتفعل ذلك.

أعلن JetBrains Marketplace مؤخرًا عن ميزة جديدة ومهمة لمطوري الملحقات: إتاحة تقارير تجميد واجهة المستخدم (UI freeze reports). لطالما كانت مشكلة تجميد واجهة المستخدم من أصعب المشكلات التي يواجهها مطورو الملحقات، خاصةً عندما لا يمكن إعادة إنتاجها بسهولة. تهدف هذه التقارير إلى تزويد المطورين بالبيانات التشخيصية اللازمة لتحديد الأسباب الجذرية لهذه المشكلات وإصلاحها بكفاءة أكبر.

ما الذي تتضمنه هذه التقارير؟

تُجمّع تقارير التجميد حسب نوع الخطأ، وتجمع التقارير المتشابهة في مجموعات ليسهل استعراضها. يتضمن كل تقرير ملخصًا لـ «تفريغ الذاكرة» (thread-dump excerpt) الذي يحدد الـ threads المتورطة في التجميد، مما يوفر نقطة بداية للتحقيق. بالإضافة إلى ذلك، قد تتضمن التقارير ملفات تفريغ ذاكرة كاملة (dump-N.txt) يتم التقاطها كل خمس ثوانٍ أثناء التجميد، ولقطات CPU (snapshot.jfr)، وتحليلات لمكدسات الـ threads (report.txt)، ومقاييس أداء OpenTelemetry (open-telemetry-metrics.csv) التي تغطي جوانب مثل نشاط نظام الملفات الافتراضي واستجابة واجهة المستخدم.

للبدء، ينبغي على المطورين فتح التقرير والبحث عن Event Dispatch Thread (EDT) لمعرفة ما إذا كان مشغولاً بعمل مكلف أو ينتظر انتهاء عملية أخرى. يمكن تنزيل تفريغ الذاكرة الكامل وتحليله داخل IDE باستخدام ميزة «Analyze Stack Trace or Thread Dump» لتتبع ما يمنع EDT من التقدم. مقارنة تفريغات متعددة يمكن أن تكشف ما إذا كانت نفس العملية تبقى على الـ stack.

تحليل التقارير بمساعدة الذكاء الاصطناعي

تقدم JetBrains أيضًا مهارة «analyze-freeze» لمساعد وكلاء الذكاء الاصطناعي (AI coding agents) في تحليل تفريغات الذاكرة لمنصة IntelliJ. تشمل هذه المهارة إرشادات حول سلوك coroutine، ومشكلات Dispatchers.Default، وأنماط التجميد الشائعة الأخرى، بالإضافة إلى اقتراحات للإصلاح. يمكن للمطورين حفظ ملف SKILL.md الخاص بهذه المهارة وتقديم تفريغات الذاكرة لوكيل الذكاء الاصطناعي لتحليلها.

برأينا، استخدام الذكاء الاصطناعي في تحليل هذه التقارير يمكن أن يوفر وقتًا ثمينًا ويسرع عملية تحديد المشكلات. ومع ذلك، من المهم دائمًا التحقق من صحة استنتاجات الوكيل ومطابقتها مع الأدلة الموجودة في تفريغ الذاكرة ورمز الملحق قبل تطبيق أي تغييرات، وأيضاً الانتباه لسياسات التعامل مع البيانات التشخيصية عند استخدام خدمات الذكاء الاصطناعي.

كيفية تمكين الميزة

لاستخدام هذه الميزة، يحتاج مطورو الملحقات إلى تسجيل معالج الأخطاء الخاص بـ Marketplace في ملف `plugin.xml` عن طريق إضافة سطر `<errorHandler implementation=”com.intellij.diagnostic.JetBrainsMarketplaceErrorReportSubmitter”/>` ضمن قسم `<extensions>`. هذا المعالج متاح منذ IntelliJ Platform 2023.3 ولا يتطلب أي تطبيق مخصص. تعتمد التقارير أيضًا على إعدادات المستخدم وما إذا كان IDE قد حدد الملحق كمتورط في المشكلة.

نرى أن هذه الميزة تمثل خطوة كبيرة نحو تحسين جودة ملحقات JetBrains. فبدلاً من الاعتماد على وصف المستخدمين الغامض، يمكن للمطورين الآن الوصول إلى بيانات تشخيصية دقيقة ومفصلة. هذا يعني أن تصحيح الأخطاء سيكون أسرع وأكثر فعالية، مما يؤدي في النهاية إلى تجربة أفضل للمستخدمين وتقليل الإحباط لدى المطورين عند مواجهة مشكلات الأداء المستعصية. ننصح جميع مطوري ملحقات JetBrains بتمكين هذه الميزة في أقرب وقت ممكن.

المصدر: blog.jetbrains.com

Cloudflare تطلق Clef-omni متعدد الوسائط وتحسينات للنماذج
Starlink Mobile تتجه لتصبح مشغلاً خلوياً رئيسياً في أمريكا

Reactions

0
0
0
0
0
0
بالفعل كان رد فعل لهذا المنصب.

ردود الفعل