CodeGuru هي خدمة مقدمة من AWS يمكنها تلقائيًا تحليل التعليمات البرمجية الخاصة بك بحثًا عن مشكلات الأداء الشائعة والأخطاء الأخرى مثل ظروف السباق وتسريبات الذاكرة. إذا كنت تدفع مقابل الخادم الذي يعمل عليه ، فإن الوقت الضائع لوحدة المعالجة المركزية يضيع المال.
ماذا يفعل CodeGuru؟
في الأساس ، CodeGuru هي خوارزمية للتعلم الآلي تم تدريبها وضبطها لتقديم توصيات لتحسين أداء تطبيقاتك. يقوم CodeGuru بمسح قاعدة التعليمات البرمجية الخاصة بك للعثور على سطور إشكالية من التعليمات البرمجية التي يمكن تحسينها لمنع دورات وحدة المعالجة المركزية الضائعة.تسمى هذه الميزة بملف التعريف CodeGuru.
بالإضافة إلى العثور على مشكلات الأداء ، لدى CodeGuru أيضًا ميزة أخرى ، وهي CodeGuru المراجع ، والتي يتم تدريبها على أفضل ممارسات التطبيق ويمكنها اكتشاف المشكلات الشائعة مثل تسرب الموارد أو ظروف السباق أو معالجة الأخطاء المشكوك فيها.
بالطبع لا يُقصد من CodeGuru أن تحل محل مراجعات الكود البشري تمامًا ، وليس المقصود منها إجراء اختبار واجهة المستخدم بأي شكل من الأشكال. ومع ذلك ، فإنه سيكتشف الأشياء التي قد يفوتها البشر ، ويمكنه إجراء اختبار آلي في كل مجال من مجالات التطبيق الخاص بك.
CodeGuru ، مثل معظم AWS ، لديه تسعير الدفع أولاً بأول ، وهو منخفض بما يكفي ليتم تشغيله لكل مراجعة للكود. بالنسبة لطلب سحب نموذجي يحتوي على 500 سطر من التعليمات البرمجية ، تقدر AWS أنه سيكلف فقط 3.75 دولارًا لتشغيل CodeGuru المراجع عليه. من الواضح أن ذلك سيضيف اعتمادًا على عدد طلبات السحب التي لديك ، ولكن مقابل ما يقدمه والمدخرات الحاسوبية المحتملة ، سيدفع CodeGuru لنفسه مقابل العديد من الأشخاص.
لسوء الحظ ، لا يدعم CodeGuru حاليًا سوى تطبيقات Java. ومع ذلك ، من المخطط دعم المزيد من اللغات قريبًا ، وستعمل بنفس الطريقة إلى حد كبير. إذا كنت تقرأ هذا في المستقبل ، فيمكنك التحقق من موقعه على الويب لمعرفة اللغات المدعومة.
باستخدام ملف التعريف
توجه إلى CodeGuru Management Console ، وحدد "مجموعات التنميط" من الشريط الجانبي. يمكنك إنشاء مجموعتك الخاصة هنا ، ولكن هناك مجموعتان تم إنشاؤهما بالفعل ويمكنك استكشافهما لمعرفة كيفية عملها. سنفتح "مع مشاكل" لإلقاء نظرة.

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

على سبيل المثال ، بالمقارنة مع المستودعات التجريبية الأخرى دون مشاكل ، يعمل الكود بشكل أسرع ويقضي وقتًا أطول في العمل.

إذا نقرت على زر "التوصيات" ، فسيتم تقديمك بقائمة بالأشياء التي يكتشفها CodeGuru والتي يمكن تحسينها. على سبيل المثال ، في العرض التوضيحي مع المشكلات ، تم قضاء 10٪ من الوقت في إنشاء
ObjectMappers، وهي بطيئة الإنشاء ويجب إنشاؤها مرة واحدة فقط كنتيجة لذلك. توصي CodeGuru بتهيئة هذا كمتغير ثابت لحل هذه المشكلة.

سيخبرك CodeGuru بالوظائف التي تحتوي على الكود الإشكالي ، حتى تتمكن من تضييق نطاق المشكلة والوصول إلى حلها بسرعة.
بالنسبة لاختبار التطبيقات الخاصة بك ، فالأمر سهل جدًا.قم بإنشاء مجموعة ملفات تعريف جديدة ، وستحصل على إرشادات حول كيفية دمج ملف التعريف في التطبيق الخاص بك ، إما عن طريق تشغيل JVM مع معلمة
-javaagentالخاصة ، أو عن طريق دمجها مباشرة في التطبيق الخاص بك.
في كلتا الحالتين ، ابدأ التطبيق الخاص بك وقم بتشغيل ملف التعريف. بعد 5 دقائق ، سيتم إرسال الملف الشخصي الأول ، والذي قد يستغرق ما يصل إلى 15 دقيقة للمعالجة.

بالنسبة لمراجع الشفرة ، الذي يقدم توصيات غير متعلقة بالأداء ، ستحتاج ببساطة إلى ربط المستودع الخاص بك بـ CodeGuru ضمن "المستودعات المرتبطة". بعد ذلك ، سترى مراجعات التعليمات البرمجية لكل طلب سحب.