_Gaq.push (['_ _ trackPageLoadTime']) কীভাবে কাজ করে?


102

গুগল অ্যানালিটিক্স সাইটের গতি বৈশিষ্ট্য, কীভাবে _gaq.push(['_trackPageLoadTime'])কাজ করে? এটি কীভাবে কাজ করে সে সম্পর্কে কোনও দলিল আছে?


2
@ stuken.yuri এটি গুগল অ্যানালিটিক্স অ্যাসিঙ্ক্রোনাস কলের বাক্য গঠন। এটির মূল অর্থ: _trackPageLoadTimeএকটি সারিতে ফাংশন (নাম) যুক্ত করুন এবং তারপরে ga.js লোড হয়ে গেলে ক্রমানুসারে সেই সারিতে সমস্ত ফাংশন ফায়ার করুন। এটি আপনাকে নিরাপদে ga.jsasynchronously লোড করতে দেয় ।
ইয়াহেল

উত্তর:


181

সম্পাদনা : নভেম্বর 16th 2011 থেকে ফাংশন অবচিত হয়েছে এবং তার কার্যকারিতা একটি ডিফল্ট সেটিং হিসেবে সেট করা হয়েছে । (কার্যকরীভাবে বলতে গেলে, এটি একটি অপ্ট-ইন বৈশিষ্ট্য থেকে অপ্ট-আউট বৈশিষ্ট্য হিসাবে চলে গেছে))_trackPageLoadTime

_setSiteSpeedSampleRateএই বৈশিষ্ট্যটিতে নমুনা হার নির্ধারণের জন্য নতুন কাজ; এর ডিফল্ট মান 1(1% হিসাবে)। এই সাইটের গতির বৈশিষ্ট্যটি ব্যবহার না করার জন্য, আপনাকে 0এই ফাংশনে একটি পাস করতে হবে :

_gaq.push(["_setSiteSpeedSampleRate", 0]);

থেকে Google এনালিটিক্স সহায়তা কেন্দ্র :

এই প্রতিবেদনটি বর্তমানে নিম্নলিখিত ব্রাউজারগুলিকে সমর্থন করে: গুগল টুলবার ইনস্টল করে ক্রোম, ইন্টারনেট এক্সপ্লোরার 9 এবং ইন্টারনেট এক্সপ্লোরারের পূর্ববর্তী সংস্করণ। আরও সুনির্দিষ্টভাবে বলা যায় যে সাইটের গতির প্রতিবেদনে এমন ব্রাউজারগুলি দরকার যা HTML5 নেভিগেশনটাইমিং ইন্টারফেস সমর্থন করে বা Google ইন্টারনেট এক্সপ্লোরার সরঞ্জামদণ্ড ইনস্টল করেছে

সুতরাং, এটি কোনও পূর্ববর্তী হোমব্যাক সলিউশনগুলির মতো নিজস্ব টাইমার বাস্তবায়ন করে না, এটি বোঝাতে কোনও পৃষ্ঠা লোড হতে কত সময় নেয়। পরিবর্তে, এটি একটি নতুন এইচটিএমএল 5 বৈশিষ্ট্য ব্যবহার করে, বর্তমানে কেবল উপরের তালিকাভুক্ত ক্ষেত্রে সমর্থিত, যাকে নেভিগেশনটাইমিং বলে।

সম্পাদনা : এটি এখন ফায়ারফক্স 7 এ সমর্থিত

(এটি লক্ষণীয় গুরুত্বপূর্ণ যে এটি প্রতিটি লোডে চলে না; পরিবর্তে এটি বর্তমানে পৃষ্ঠাগুলির প্রায় 2% স্যাম্পল করে, যদিও এটি 10% ভিজিটে সমস্ত পৃষ্ঠা লোডগুলি ট্র্যাক করার চেষ্টা করার জন্য কনফিগার করা হয়েছে ; আরও ব্রাউজারগুলি নেভিগেশনটাইমিং এপিআই সমর্থন করে, আপনি মোট নমুনা শতাংশ 10% এর কাছাকাছি পেতে শুরু করতে পারেন আশা করতে পারেন।)

এই ইন্টারফেসটি ডিওএম অবজেক্টের অধীনে window.performance(বা, ক্রোমের পূর্ববর্তী সংস্করণগুলিতে window.webkitPerformance) timingঅ্যাট্রিবিউট (তাই, window.performance.timing) ব্যবহার করে অ্যাক্সেস করা হয় । অবজেক্টটি কী পৃষ্ঠার লোড ইভেন্টের বারগুলির সমস্তগুলির পরিমাপ করা মানগুলি সঞ্চয় করে এবং গুগল অ্যানালিটিক্স পৃষ্ঠার লোড গতির বিচারের জন্য আরও গুরুত্বপূর্ণ বাহ্যিক মানগুলির 2 টি বিয়োগ করে।

ক্যাশে ছাড়াই Mashable.com এর লোডের জন্য, এটি কী পরিমাণে পরিমাপ করে তার একটি উদাহরণ এখানে রয়েছে (ক্রোম 11 এ):

timing = {
  connectEnd: 1306677079337,
  connectStart: 1306677079337,
  domComplete: 1306677083482,
  domContentLoadedEventEnd: 1306677081765,
  domContentLoadedEventStart: 1306677081576,
  domInteractive: 1306677081576,
  domLoading: 1306677079478,
  domainLookupEnd: 1306677079337,
  domainLookupStart: 1306677079337,
  fetchStart: 1306677079337,
  loadEventEnd: 1306677083483,
  loadEventStart: 1306677083482,
  navigationStart: 1306677079337,
  redirectEnd: 0,
  redirectStart: 0,
  requestStart: 1306677079394,
  responseEnd: 1306677079669,
  responseStart: 1306677079476,
  secureConnectionStart: 0,
  unloadEventEnd: 0,
  unloadEventStart: 0
}

ঐ সংখ্যা, 1 জানুয়ারি থেকে যুগান্তকারী মিলিসেকেন্ড, বা মিলিসেকেন্ড হয় 1970 আমি কোনো ডকুমেন্টেশন যা যেমন মান তারা তাদের মান জেনারেট করতে বিয়োগ দেখা যায় না, কিন্তু একটি দ্রুত পরিদর্শন থেকে ga.js , এটা হয় দেখে মনে হচ্ছে loadEventStart-fetchStart:

h&&h[c]!=k&&h.isValidLoadTime?b=h[c]:e&&e[a]&&(b=e[a].loadEventStart-e[a].fetchStart);

উপরে নমুনার জন্য, তার মানে এটা নথিভুক্ত করবে 4.14 সেকেন্ড মধ্যে _trackPageLoadTimeকল।

ডাব্লু 3 সি নেভিগেশন সময় বিবরণ থেকে:

ফেচস্টার্ট বৈশিষ্ট্য

যদি এইচটিটিপি জিইটি বা সমতুল্য ব্যবহার করে নতুন সংস্থানটি আনতে হয় তবে ব্যবহারকারী এজেন্ট কোনও প্রাসঙ্গিক অ্যাপ্লিকেশন ক্যাশে পরীক্ষা করা শুরু করার আগে ফেচস্টার্টকে অবশ্যই সময় ফিরিয়ে আনতে হবে। অন্যথায়, ব্যবহারকারী এজেন্ট যখন রিসোর্স আনতে শুরু করবে তখন অবশ্যই এটি অবশ্যই ফিরে আসতে পারে।

লোডভেন্ট স্টার্ট বৈশিষ্ট্য

বর্তমান ডকুমেন্টের লোড ইভেন্টটি বহিষ্কার হওয়ার আগে এই বৈশিষ্ট্যটি অবশ্যই তত্ক্ষণাত্ ফিরিয়ে দিতে হবে। লোড ইভেন্টটি যখন চালিত হয় না তখন এটি অবশ্যই শূন্য ফিরে আসতে পারে।

কৌতূহলী পক্ষের জন্য, ক্রমটি নিম্নরূপ হিসাবে প্রদর্শিত হচ্ছে:

কানেক্ট স্টার্ট, কানেক্টএন্ড, ডোমেনলুকআপস্টার্ট, ডোমেনলুকআপএন্ড, ফেচস্টার্ট, নেভিগেশন স্টার্ট, রিকোয়েস্টস্ট, রেসপন্সস্টার্ট, ডমলোডিং, রেসপন্স, ডমকন্টেন্টলয়েডএভেনস্টার্ট, ডম ইন্টেটিভ, ডোমকন্টেন্টলয়েডএভেন্টএন্ড, ডমকমল্ট, লোডইভেন্ট স্টার্ট

তালিকাভুক্ত 0 টি মানের জন্য:

unloadEventStartএবং unloadEventStartপূর্ববর্তী পৃষ্ঠাটির লোড আনলোড করার সময়গুলি দেখান (তবে কেবলমাত্র সেই পৃষ্ঠায় বর্তমানের মতো একই উত্স রয়েছে))

redirectEndএবং redirectStartলেটেন্সি যদি পৃষ্ঠার লোড চেইন ছিল একটি HTTP পুনর্নির্দেশ যোগ পরিমাপ।

secureConnectionStart এসএসএল সংযোগের সময়টি পরিমাপ করার জন্য এটি একটি alচ্ছিক পরিমাপ বলে মনে হচ্ছে।


6
তুমি দোস্তকে, গম্ভীরভাবে। এরকম বিস্তৃত প্রতিক্রিয়ার জন্য ধন্যবাদ।
সিড

secureConnectionStartএটি একটি স্ট্যান্ডার্ড মেসোচার, তবে এটি ব্রাউজারের (বা যে কোনও বিষয়বস্তু পরিচালনা করে) প্রতিবেদন করা optionচ্ছিক। w3c-test.org/webperf/specs/ নেভিগেশন টাইমিং/…
এরিক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.