回答:
編集:2011年11月16日の時点で、この_trackPageLoadTime
関数は非推奨になり、その機能はデフォルト設定として設定されました。(機能的に言えば、オプトイン機能からオプトアウト機能になりました。)
_setSiteSpeedSampleRate
この機能のサンプルレートを設定するための新しい関数です。デフォルト値は1
(1%など)です。このサイト速度機能の使用をオプトアウトするには0
、この関数にa を渡す必要があります。
_gaq.push(["_setSiteSpeedSampleRate", 0]);
このレポートは現在、次のブラウザーをサポートしています:Chrome、Internet Explorer 9、およびGoogleツールバーがインストールされている以前のバージョンのInternet Explorer。具体的には、サイト速度レポートには、HTML5 NavigationTimingインターフェースをサポートするか、Google Internet Explorerツールバーがインストールされているブラウザーが必要です。
そのため、ページの読み込みにかかる時間を把握するために、以前の多くのホームバックソリューションのように独自のタイマーを実装していません。代わりに、NavigationTimingと呼ばれる新しいHTML5機能を使用します。現在、上記のケースでのみサポートされています。
編集:これはFirefox 7でサポートされるようになりました
(それはすべての負荷に実行されないことに注意することが重要、代わりに現在のページビューの2%の周りのサンプルを、それがするように設定されているがしようと訪問の10%上のすべてのページがロードを追跡するために、より多くのブラウザがNavigationTimingのAPIをサポートして、サンプリングされた割合の合計が10%に近づき始めることが期待できます。)
このインターフェイスには、属性(so、)を使用して、DOMオブジェクトwindow.performance
(または以前のバージョンのChromeではwindow.webkitPerformance
)の下でアクセスします。オブジェクトはすべての主要なページ読み込みイベント時間の測定値を保存し、Googleアナリティクスはより重要な2つの外部値を差し引いてページ読み込み速度を判断します。timing
window.performance.timing
キャッシュなしでMashable.comをロードする場合の測定例(Chrome 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
}
これらの数値はエポックミリ秒、つまり1970年1月1日からのミリ秒です。値を生成するために差し引く値についてのドキュメントは見ていませんが、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
コール。
新しいリソースがHTTP GETまたは同等のものを使用してフェッチされる場合、fetchStartは、ユーザーエージェントが関連するアプリケーションキャッシュのチェックを開始する直前の時間を返す必要があります。それ以外の場合は、ユーザーエージェントがリソースのフェッチを開始した時刻を返す必要があります。
この属性は、現在のドキュメントのloadイベントが発生する直前の時間を返す必要があります。ロードイベントがまだ発生していない場合は、ゼロを返す必要があります。
好奇心旺盛な関係者の場合、順序は次のようになります。
connectStart、connectEnd、domainLookupStart、domainLookupEnd、fetchStart、navigationStart、requestStart、responseStart、domLoading、responseEnd、domContentLoadedEventStart、domInteractive、domContentLoadedEventEnd、domComplete、loadEventStart、loadEventEnd
リストされている0の値の場合:
unloadEventStart
そしてunloadEventStart
、前のページのロードのアンロードの時間を表示します(ただし、そのページの起点が現在のページと同じである場合のみ)。
redirectEnd
redirectStart
ページのロードチェーンにHTTPリダイレクトがあった場合に追加されたレイテンシを測定します。
secureConnectionStart
SSL接続時間を測定するためのオプションの測定のようです。
secureConnectionStart
標準的な測定ですが、ブラウザ(またはコンテンツを処理するもの)がレポートするかどうかはオプションです。 w3c-test.org/webperf/specs/NavigationTiming/...
_trackPageLoadTime
をキューに追加し、ga.jsが読み込まれると、そのキュー内のすべての関数を順番に起動します。ga.js
非同期で安全にロードできます。