این راهنما نحوه اندازه گیری دوره های زمانی را با استفاده از analytics.js شرح می دهد.
بررسی اجمالی
مطالعات نشان داده اند که کاهش زمان بارگذاری صفحه، تجربه کلی کاربر از یک سایت را بهبود می بخشد. Google Analytics تعدادی گزارش قدرتمند دارد که به طور خودکار زمان بارگذاری صفحه را اندازه گیری و گزارش می دهد. با این حال، اندازه گیری اطلاعات زمان بندی سفارشی برای اندازه گیری عملکرد خاص سایت شما نیز امکان پذیر است.
زمانبندی کاربر به توسعهدهندگان اجازه میدهد تا با استفاده از کتابخانه analytics.js دورههای زمانی را اندازهگیری کنند. این به ویژه برای توسعه دهندگان برای اندازه گیری تاخیر یا زمان صرف شده برای درخواست های AJAX و بارگیری منابع وب مفید است.
پیاده سازی
بازدیدهای زمان بندی کاربر را می توان با استفاده از دستور send
و تعیین ضربه نوع timing
ارسال کرد. دستور send
دارای امضای زیر برای نوع ضربه timing
است:
ga('send', 'timing',[timingCategory]
,[timingVar]
,[timingValue]
,[timingLabel]
, [fieldsObject]);
فیلدهای زمان بندی کاربر
جدول زیر فیلدهای زمان بندی کاربر را خلاصه می کند:
نام زمینه | نوع ارزش | ضروری | شرح |
---|---|---|---|
timingCategory | متن | آره | رشته ای برای دسته بندی همه متغیرهای زمان بندی کاربر به گروه های منطقی (به عنوان مثال 'JS Dependencies' ). |
timingVar | متن | آره | رشته ای برای شناسایی متغیر در حال ضبط (مثلا 'load' ). |
timingValue | عدد صحیح | آره | تعداد میلی ثانیه در زمان سپری شده برای گزارش به Google Analytics (مثلا 20 ). |
timingLabel | متن | نه | رشتهای که میتواند برای افزودن انعطافپذیری در تجسم زمانبندی کاربر در گزارشها استفاده شود (مثلاً 'Google CDN' ). |
مثال ها:
دستور زیر یک ضربه زمان بندی کاربر را به Google Analytics ارسال می کند که نشان می دهد 3549 میلی ثانیه طول کشیده است تا صفحه وب فعلی تمام وابستگی های خارجی جاوا اسکریپت خود را بارگیری کند:
ga('send', 'timing', 'JS Dependencies', 'load', 3549);
توجه داشته باشید که مانند همه دستورات send
، فیلدهای ارسال شده در پارامترهای راحتی ممکن است در fieldsObject
نیز مشخص شوند. دستور بالا را می توان به صورت زیر بازنویسی کرد:
ga('send', {
hitType: 'timing',
timingCategory: 'JS Dependencies',
timingVar: 'load',
timingValue: 3549
});
اندازه گیری زمان
هنگام ارسال داده های زمان بندی کاربر، مقدار میلی ثانیه صرف شده در پارامتر timingValue
را مشخص می کنید. این به شما بستگی دارد که کد بنویسید تا این مدت زمان را ضبط کنید.
ساده ترین راه برای انجام این کار این است که در ابتدای یک دوره زمانی یک مهر زمانی ایجاد کنید و در پایان دوره زمانی دیگر ایجاد کنید. سپس می توانید تفاوت بین هر دو مهر زمانی را برای دریافت زمان صرف شده در نظر بگیرید.
بیشتر مرورگرهای مدرن از Navigation Timing API پشتیبانی میکنند که شامل روشهایی در شی window.performance برای اندازهگیری عملکرد صفحات وب از طریق دادههای زمانی با وضوح بالا است.
مثال زیر از متد performance.now()
استفاده میکند که مدت زمانی را که از بارگذاری صفحه برای اولین بار سپری شده است را برمیگرداند:
// Feature detects Navigation Timing API support.
if (window.performance) {
// Gets the number of milliseconds since page load
// (and rounds the result since the value must be an integer).
var timeSincePageLoad = Math.round(performance.now());
// Sends the timing hit to Google Analytics.
ga('send', 'timing', 'JS Dependencies', 'load', timeSincePageLoad);
}
ملاحظات نمونه گیری
Google Analytics از بازدیدهای زمانبندی در طول پردازش نمونهبرداری میکند تا از توزیع عادلانه منابع سیستم برای این ویژگی اطمینان حاصل کند.
نرخ نمونهبرداری از بازدیدهای زمانبندی با تعداد کل بازدیدهای بازدید از صفحه دریافت شده در روز قبل برای دارایی تعیین میشود. جدول زیر نحوه تعیین نرخ نمونه برداری زمان بندی را نشان می دهد:
تعداد بازدید کل بازدید از صفحه (روز قبل) | حداکثر تعداد بازدیدهای زمانی که پردازش خواهند شد |
---|---|
0 - 1000 | 100 |
1000 - 100000 | 10٪ از کل تعداد بازدید از صفحه |
100000 - 1000000 | 10000 |
1,000,000+ | 1٪ از کل تعداد بازدید از صفحه |
محدود کردن تعداد بازدیدهای ارسالی
برای جلوگیری از ارسال بازدیدهای Google Analytics که پردازش نمیشوند، analytics.js به شما امکان میدهد درصد بازدیدهایی که از طریق گزینههای پیکربندی sampleRate
و siteSpeedSampleRate
ارسال میشوند را کنترل کنید. به طور پیش فرض این فیلدها به ترتیب روی 100% و 1% تنظیم شده اند. میتوانید این مقادیر را تنظیم کنید تا تعداد بازدیدهای زمانی را که Google Analytics بر اساس میانگین تعداد بازدید از صفحه روزانه شما پردازش میکند، به طور تقریبیتر تنظیم کنید.