ممیزی خودکار با AutoWebPerf

یک ابزار ماژولار جدید که امکان جمع آوری خودکار داده های عملکرد از چندین منبع را فراهم می کند.

Autowebperf (AWP) ابزاری مدولار است که جمع آوری خودکار داده های عملکرد را از منابع مختلف امکان پذیر می کند. Currently there are many tools available to measure website performance for different scopes ( lab and field ), such as Chrome UX Report, PageSpeed Insights, or WebPageTest. AWP ادغام با ابزارهای مختلف حسابرسی با یک تنظیم ساده را ارائه می دهد تا بتوانید به طور مداوم عملکرد سایت را در یک مکان کنترل کنید.

انتشار راهنمایی های وب ویتام به این معنی است که نظارت نزدیک و فعال در صفحات وب به طور فزاینده ای اهمیت می یابد. مهندسان پشت این ابزار سالهاست که ممیزی های عملکردی را انجام می دهند و آنها AWP را برای خودکار سازی یک کتابچه راهنمای کاربر ، مکرر و وقت گیر بخشی از فعالیت های روزانه خود ایجاد کردند. امروز ، AWP به سطح بلوغ رسیده است و آماده است تا به طور گسترده به اشتراک گذاشته شود تا هرکسی بتواند از اتوماسیون خود بهره ببرد.

این ابزار در مخزن عمومی Autowebperf در GitHub قابل دسترسی است.

AWP برای چیست؟

اگرچه چندین ابزار و API برای نظارت بر عملکرد صفحات وب در دسترس هستند ، اما بیشتر آنها داده های اندازه گیری شده در یک زمان خاص را نشان می دهند. برای نظارت مناسب یک وب سایت و حفظ عملکرد خوب صفحات کلیدی ، توصیه می شود به طور مداوم اندازه گیری های اصلی وب را به مرور زمان انجام داده و روندها را رعایت کنید.

AWP با تهیه یک موتور و ادغام API از پیش ساخته شده که می توانند به صورت برنامه ای برای خودکار سازی نمایش داده های مکرر به API های مختلف نظارت بر عملکرد تنظیم شوند ، این کار را آسانتر می کند.

به عنوان مثال ، با AWP ، می توانید یک آزمایش روزانه را در صفحه اصلی خود تنظیم کنید تا داده های میدانی را از داده های CRUX API و آزمایشگاه از یک گزارش فانوس دریایی از Pagespeed Insights ضبط کنید. این داده‌ها را می‌توان در طول زمان نوشت و ذخیره کرد، به عنوان مثال، در Google Sheets و سپس در داشبورد استودیوی داده تجسم کرد. AWP بخش سنگین کردن کل فرآیند را خودکار می کند و آن را به یک راه حل عالی برای پیگیری روندهای آزمایشگاهی و میدانی در طول زمان تبدیل می کند. برای جزئیات بیشتر به تجسم نتایج حسابرسی در Data Studio در زیر مراجعه کنید).

نمای کلی معماری

AWP یک کتابخانه مبتنی بر مدولار با سه نوع مختلف ماژول است:

  • موتور
  • ماژول های اتصال دهنده
  • ماژول های جمع کننده

موتور لیستی از آزمایشات را از یک کانکتور (به عنوان مثال ، از یک پرونده محلی CSV) می گیرد ، ممیزی های عملکرد را از طریق جمع کننده های منتخب (مانند Pagespeed Insights) اجرا می کند و نتایج را به اتصال خروجی (به عنوان مثال ، برگه های Google) می نویسد.

نموداری از معماری AWP.

AWP با تعدادی از جمع کننده ها و اتصالات از پیش اجرا شده همراه است:

ممیزی خودکار با AWP

AWP ممیزی های عملکرد را از طریق پلتفرم های ممیزی ترجیحی شما مانند PageSpeed ​​Insights ، WebPageTest یا CrUX API خودکار می کند. AWP انعطاف پذیری را برای انتخاب مکان بارگیری لیست تست ها و مکان نوشتن نتایج ارائه می دهد.

برای مثال، می‌توانید ممیزی‌ها را برای فهرستی از آزمایش‌های ذخیره‌شده در Google Sheet اجرا کنید و نتایج را با دستور زیر در یک فایل 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

Alternatively, you can set up the crontab in a Unix-like environment to run AWP as a daily cron job:

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

می‌توانید راه‌های بیشتری برای خودکارسازی ممیزی‌های روزانه و جمع‌آوری نتایج در مخزن AWP GitHub پیدا کنید.

تجسم نتایج حسابرسی در Data Studio

همراه با اندازه گیری مداوم ویتامین های اصلی وب ، این مهم است که بتوانیم روندها را ارزیابی کرده و رگرسیون های احتمالی را با معیارهای کاربر واقعی (RUM) یا گزارش Chrome UX (CRUX) جمع آوری شده توسط AWP کشف کنیم. توجه داشته باشید که گزارش Chrome UX (CRUX) یک تجمع در حال حرکت 28 روزه است ، از این رو توصیه می شود از داده های RUM خود به همراه CRUX نیز استفاده کنید تا بتوانید زودتر رگرسیون را مشاهده کنید.

Data Studio یک ابزار تجسم رایگان است که می توانید به راحتی معیارهای عملکرد را در آن بارگیری کنید و روندها را به عنوان نمودار ترسیم کنید. برای مثال، نمودارهای سری زمانی زیر Core Web Vitals را بر اساس داده‌های گزارش Chrome UX نشان می‌دهند. یکی از نمودارها افزایش تغییر چیدمان تجمعی را در هفته‌های اخیر نشان می‌دهد که به معنای رگرسیون در پایداری چیدمان برای صفحات خاص است. در این سناریو، می‌خواهید تلاش‌ها برای تجزیه و تحلیل مسائل اساسی این صفحات را در اولویت قرار دهید.

یک اسکرین شات از Core Web Vitals در Data Studio نتیجه می گیرد.

برای ساده کردن فرآیند پایان به پایان از جمع آوری داده ها تا تجسم ، می توانید AWP را با لیستی از URL ها اجرا کنید تا به طور خودکار نتایج را به Google Sheets با دستور زیر صادر کنید:

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

پس از جمع آوری معیارهای روزانه در صفحه گسترده ، می توانید یک داشبورد استودیوی داده ایجاد کنید که داده ها را مستقیماً از صفحه گسترده بار می کند و روندها را در یک سری سری زمانی ترسیم می کند. برای گام‌های دقیق در مورد نحوه راه‌اندازی AWP با صفحات گسترده به‌عنوان منبع داده برای تجسم در Data Studio، رابط Google Spreadsheets API را بررسی کنید.

بعدش چی؟

AWP یک راه ساده و یکپارچه برای به حداقل رساندن تلاش‌ها برای راه‌اندازی یک خط لوله نظارت مستمر برای اندازه‌گیری Core Web Vitals و سایر معیارهای عملکرد ارائه می‌کند. در حال حاضر، AWP رایج‌ترین موارد استفاده را پوشش می‌دهد و به ارائه ویژگی‌های بیشتری برای رسیدگی به موارد استفاده دیگر در آینده ادامه خواهد داد.

در مخزن AutoWebPerf بیشتر بیاموزید.