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

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

AutoWebPerf (AWP) is a modular tool that enables automatic gathering of performance data from multiple sources. در حال حاضر ابزارهای زیادی برای اندازه گیری عملکرد وب سایت برای دامنه های مختلف ( آزمایشگاه و زمینه ) مانند گزارش Chrome UX ، Pagespeed Insights یا WebPagetest در دسترس است. AWP ادغام با ابزارهای مختلف حسابرسی با یک تنظیم ساده را ارائه می دهد تا بتوانید به طور مداوم عملکرد سایت را در یک مکان کنترل کنید.

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

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

AWP برای چیست؟

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

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

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

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

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

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

موتور فهرستی از آزمایش‌ها را از یک رابط (مثلاً از یک فایل CSV محلی) می‌گیرد، ممیزی‌های عملکرد را از طریق جمع‌آورنده‌های انتخاب شده (مانند PageSpeed ​​Insights) اجرا می‌کند و نتایج را در رابط خروجی می‌نویسد (مثلاً Google Sheets).

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

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

خودکار کردن حسابرسی با AWP

AWP ممیزی های عملکرد را از طریق سیستم عامل های حسابرسی مورد نظر خود مانند Pagespeed Insights ، 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 را در یک محیط مانند یونیکس تنظیم کنید تا AWP را به عنوان یک کار روزانه Cron اجرا کنید:

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

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

تجسم نتایج حسابرسی در استودیو داده

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

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

تصویری از Vitals Core Web منجر به استودیو داده ها می شود.

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

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

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

بعدش چی؟

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

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