برمجة عمليات التدقيق باستخدام AutoWebPerf

أداة نموذجية جديدة تتيح التجميع التلقائي لبيانات الأداء من مصادر متعددة.

ما هو AutoWebPerf (AWP)؟

AutoWebPerf (AWP) هي أداة معيارية تتيح التجميع التلقائي لبيانات الأداء من مصادر متعددة. تتوفّر حاليًا العديد من الأدوات لقياس أداء الموقع الإلكتروني لنطاقات مختلفة (ميزة اختبارية وحقل)، مثل "تقرير تجربة المستخدم" في Chrome أو "إحصاءات PageSpeed" أو WebPageTest. توفّر AAWP دمجًا مع أدوات تدقيق مختلفة من خلال عملية إعداد بسيطة لتتمكّن من مراقبة أداء الموقع الإلكتروني في مكان واحد باستمرار.

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

يمكن الوصول إلى الأداة من خلال مستودع AutoWebPerf العام على GitHub.

ما الغرض من استخدام AWP؟

وعلى الرغم من توفّر عدة أدوات وواجهات برمجة تطبيقات لمراقبة أداء صفحات الويب، إلا أنّ معظمها يعرض بيانات يتم قياسها في وقت محدّد. لمراقبة الموقع الإلكتروني بشكل كافٍ والحفاظ على الأداء الجيد للصفحات الرئيسية، يُوصى باستمرار قياس مؤشرات الويب الأساسية بمرور الوقت ومراقبة المؤشرات.

وتُسهّل AWP هذه العملية من خلال توفير تكاملات بين المحرّكات وواجهات برمجة التطبيقات المُنشأة مسبقًا والتي يمكن ضبطها آليًا للحصول على الطلبات المتكررة بشكل آلي في مختلف واجهات برمجة التطبيقات لمراقبة الأداء.

على سبيل المثال، باستخدام AWP، يمكنك ضبط اختبار يومي على صفحتك الرئيسية للحصول على البيانات الفعلية من CrUX API وبيانات المختبر من تقرير Lighthouse من "إحصاءات PageSpeed". يمكن كتابة هذه البيانات وتخزينها بمرور الوقت، في جداول بيانات Google مثلاً، ثم عرضها في لوحة بيانات مركز البيانات. تعمل AWP على أتمتة الجزء ذي الأهمية الكبيرة من العملية بأكملها، ما يجعلها حلاً رائعًا لمتابعة اتجاهات المختبرات والمجالات بمرور الوقت. اطّلِع على عرض نتائج التدقيق في "مركز البيانات" أدناه للحصول على مزيد من التفاصيل).

نظرة عامة على البنية الأساسية

AWP هي مكتبة مستندة إلى وحدات تتضمّن ثلاثة أنواع مختلفة من الوحدات:

  • المحرّك
  • وحدات أدوات الربط
  • وحدات الجمع

يأخذ المحرّك قائمة باختبارات من موصِّل (على سبيل المثال، من ملف CSV محلي)، ويجري عمليات تدقيق للأداء من خلال أدوات جمع محدّدة (مثل إحصاءات PageSpeed)، ويكتب النتائج في موصِّل الإخراج (على سبيل المثال، "جداول بيانات Google").

رسم تخطيطي لبنية AAWP

يأتي برنامج AWP مزودًا بعدد من أدوات التجميع والموصلات التي تم تنفيذها مسبقًا:

تنفيذ عمليات التدقيق تلقائيًا باستخدام AAWP

تُجري AWP تلقائيًا عمليات تدقيق الأداء من خلال منصات التدقيق التي تفضّلها، مثل إحصاءات PageSpeed أو WebPageTest أو CrUX API. توفّر "AWP" مرونة في اختيار موضع تحميل قائمة الاختبارات ومكان كتابة النتائج.

على سبيل المثال، يمكنك إجراء عمليات تدقيق لقائمة من الاختبارات المخزنة في جدول بيانات Google، وكتابة النتائج في ملف CSV، باستخدام الأمر أدناه:

PSI_APIKEY=<YOUR_KEY> SHEETS_APIKEY=<YOUR_KEY> ./awp run sheets:<SheetID> csv:output.csv

عمليات التدقيق المتكرّرة

يمكنك إجراء عمليات تدقيق متكرّرة بمعدّل تكرار يومي أو أسبوعي أو شهري. على سبيل المثال، يمكنك إجراء عمليات تدقيق يومية لقائمة من الاختبارات المحددة في JSON محلي كما هو موضح أدناه:

{
  "tests": [
    {
      "label": "web.dev",
      "url": "https://web.dev",
      "gatherer": "psi"
    }
  ]
}

يقرأ الأمر أدناه قائمة اختبارات التدقيق من ملف JSON المحلي، ويجري عمليات تدقيق على جهاز محلي، ثم يخرج النتائج في ملف CSV محلي:

PSI_APIKEY=<YOUR_KEY> ./awp run json:tests.json csv:output.csv

لإجراء عمليات التدقيق كل يوم كخدمة في الخلفية بشكل مستمر، يمكنك استخدام الأمر أدناه بدلاً من ذلك:

PSI_APIKEY=<YOUR_KEY> ./awp continue json:tests.json csv:output.csv

بدلاً من ذلك، يمكنك إعداد crontab في بيئة تشبه نظام Unix لتشغيل AWP كمهمة cron يومية:

0 0 * * * PSI_APIKEY=<YOUR_KEY> ./awp run json:tests.json csv:output.csv

يمكنك العثور على مزيد من الطرق لإجراء عمليات التدقيق اليومية وجمع النتائج بشكل آلي في مستودع AAWP GitHub.

عرض نتائج التدقيق في "مركز البيانات"

إلى جانب القياس المستمر لمؤشرات أداء الويب الأساسية، من المهم أن تتمكن من تقييم المؤشرات واكتشاف أي تراجع محتمل باستخدام مقاييس المستخدم الفعلية (RUM) أو بيانات تقرير تجربة المستخدم على Chrome (CrUX) التي يتم جمعها من خلال AWP. تجدر الإشارة إلى أنّ تقرير تجربة المستخدم من Chrome (CrUX) عبارة عن تجميع متحرك لمدة 28 يومًا، ومن ثمَّ يُنصح باستخدام بيانات RUM الخاصة بك إلى جانب "CrUX" حتى تتمكن من اكتشاف أي انحدارات بسرعة.

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

لقطة شاشة للنتائج من &quot;مؤشرات أداء الويب الأساسية&quot; في &quot;مركز البيانات&quot;

لتبسيط العملية الشاملة من جمع البيانات إلى العرض المرئي، يمكنك تشغيل AWP مع قائمة بعناوين URL لتصدير النتائج تلقائيًا إلى "جداول بيانات Google" باستخدام الأمر التالي:

PSI_APIKEY=<YOUR_KEY> SHEETS_APIKEY=<YOUR_KEY> ./awp run sheets:<SheetID> csv:output.csv

بعد جمع المقاييس اليومية في جدول بيانات، يمكنك إنشاء لوحة بيانات في "مركز البيانات" تُحمّل البيانات مباشرةً من جدول البيانات، وترسم الاتجاهات في مخطط السلسلة الزمنية. اطّلِع على Google Sheets API Connector للحصول على خطوات تفصيلية حول كيفية إعداد "AWP" باستخدام جداول البيانات كمصدر بيانات للتمثيل المرئي للبيانات في "مركز البيانات".

ما هي الخطوات التالية؟

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

اطّلِع على مزيد من المعلومات في مستودع AutoWebPerf.