_Gaq.push (['_ trackPageLoadTime') कैसे काम करता है?


102

Google Analytics साइट स्पीड सुविधा _gaq.push(['_trackPageLoadTime']), काम कैसे करती है? क्या यह कैसे काम करता है इसके बारे में कोई दस्तावेज है?


2
@ stuken.yuri यह Google Analytics एसिंक्रोनस कॉल के लिए वाक्य रचना है। इसका मूल रूप से मतलब है: फ़ंक्शन (नाम) _trackPageLoadTimeको एक कतार में जोड़ें, और फिर उस कतार में सभी कार्यों को क्रमिक रूप से आग लगायें, जब एक बार g.js लोड हो जाता है। यह आपको सुरक्षित रूप से ga.jsअतुल्यकालिक लोड करने की अनुमति देता है ।
येलह

जवाबों:


181

संपादित करें : नवम्बर 16 वीं 2011 से, समारोह पदावनत किया गया है और अपनी कार्यक्षमता एक डिफ़ॉल्ट सेटिंग के रूप में सेट किया गया है । (कार्यात्मक रूप से कहें तो यह ऑप्ट-इन फ़ीचर से ऑप्ट-आउट फ़ीचर होने के कारण चला गया है।)_trackPageLoadTime

_setSiteSpeedSampleRateइस सुविधा पर नमूना दर निर्धारित करने का नया कार्य है; इसका डिफ़ॉल्ट मान 1(1% के रूप में) है। साइट गति सुविधा का उपयोग करने से बाहर निकलने के लिए, आपको 0इस फ़ंक्शन को पास करना होगा:

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

से Google Analytics सहायता केंद्र :

यह रिपोर्ट वर्तमान में निम्न ब्राउज़रों का समर्थन करती है: क्रोम, इंटरनेट एक्सप्लोरर 9 और इंटरनेट एक्सप्लोरर के पिछले संस्करणों में Google टूलबार स्थापित है। विशेष रूप से, साइट स्पीड रिपोर्ट में उन ब्राउज़र की आवश्यकता होती है जो HTML5 नेविगेशनटिमिंग इंटरफ़ेस का समर्थन करते हैं या Google इंटरनेट एक्सप्लोरर टूलबार स्थापित किया गया है

इसलिए, यह अपने स्वयं के टाइमर को लागू नहीं करता है, जैसे कई पूर्व होमबैक समाधानों को यह पता लगाने के लिए कि लोड होने में कितना समय लगता है। इसके बजाय, यह एक नया HTML5 फीचर का उपयोग करता है, वर्तमान में केवल उपरोक्त सूचीबद्ध मामलों में समर्थित है, जिन्हें नेविगेशनटिमिंग कहा जाता है।

EDIT : यह अब फ़ायरफ़ॉक्स 7 में समर्थित है

(यह नोट करना महत्वपूर्ण है कि यह हर लोड पर नहीं चलता है; इसके बजाय, यह वर्तमान में लगभग 2% पेजव्यू के नमूने लेता है, हालांकि इसे 10% विज़िट पर सभी पेज लोड को ट्रैक करने का प्रयास करने के लिए कॉन्फ़िगर किया गया है ; क्योंकि अधिक ब्राउज़र नेविगेशनटाइमिंग एपीआई का समर्थन करते हैं; आप 10% के करीब आने के लिए कुल नमूना प्रतिशत की उम्मीद कर सकते हैं।)

यह इंटरफ़ेस DOM ऑब्जेक्ट window.performance(या, Chrome के पुराने संस्करणों में window.webkitPerformance), timingविशेषता (इसलिए, window.performance.timing) का उपयोग करके एक्सेस किया गया है । ऑब्जेक्ट सभी कुंजी पृष्ठ लोड ईवेंट समय के मानों को मापता है, और Google Analytics लोड लोड की गति का आकलन करने के लिए अधिक महत्वपूर्ण बाहरी मानों में से 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

W3C नेविगेशन समय कल्पना से:

fetchStart विशेषता

यदि नया संसाधन HTTP GET या समकक्ष का उपयोग करके लाया जाना है, तो उपयोगकर्ता एजेंट किसी भी प्रासंगिक एप्लिकेशन कैश की जांच शुरू करने से पहले तुरंत ही समय वापस लौटा देगा। अन्यथा, यह उस समय को वापस करना चाहिए जब उपयोगकर्ता एजेंट संसाधन प्राप्त करना शुरू कर दे।

loadEventStart विशेषता

इस विशेषता को वर्तमान दस्तावेज़ के लोड ईवेंट को निकाल दिए जाने से पहले तुरंत वापस करना चाहिए। लोड घटना को अभी तक निकाल नहीं दिए जाने पर इसे शून्य पर लौटना होगा।

जिज्ञासु दलों के लिए, आदेश निम्नानुसार प्रतीत होता है:

connectStart, connectEnd, domainLookupStart, domainLookupEnd, fetchStart, navigationStart, requestStart, responseStart, domLading, responseEnd, domContentLoadedEventStart, domInteractive, domContentLoadedEventEnd, domComplete, लोडइवेंटस्टार्ट, लोडरस्टार्ट

सूचीबद्ध 0 मानों के लिए:

unloadEventStartऔर unloadEventStartपिछले पृष्ठ लोड के उतार-चढ़ाव के लिए समय दिखाएं (लेकिन केवल यदि उस पृष्ठ का वर्तमान एक ही है)।

redirectEndऔर redirectStartअगर पृष्ठ लोड श्रृंखला में एक HTTP पुनर्निर्देशित किया गया था, तो विलंबता को मापें।

secureConnectionStart एसएसएल कनेक्शन समय को मापने के लिए एक वैकल्पिक माप प्रतीत होता है।


6
आप गंभीरता से रॉक रॉक। इस तरह की एक विस्तृत प्रतिक्रिया के लिए धन्यवाद।
सिड

secureConnectionStartएक मानक खरीद है, लेकिन यह ब्राउज़र (या जो कुछ भी सामग्री को संभालता है) को रिपोर्ट करने के लिए वैकल्पिक है। w3c-test.org/webperf/specs/NavigationTiming/…
एरिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.