3

サイトの実際のユーザーの Web サイトのパフォーマンスを監視するために、boomerang.js を使用しています。 http://lognormal.github.io/boomerang/doc/

timeDone (認識されたページ読み込み時間)を測定する RTPlugin http://lognormal.github.io/boomerang/doc/api/RT.htmlがあります。

ナビゲーション タイミングをサポートするブラウザ用にブーメランがサポートするナビゲーション タイミング API もあります。ナビゲーションのタイミングを使用すると、以下を使用してページの読み込み時間を計算できます。

totalTime = loadEventEnd - NavigationStart

https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html#processing-model

データをより詳しく見ると、 totalTimetimeDoneは異なる数値であり、timeDoneは常にtotalTimeよりも大きくなります

私の質問は

  1. ページがいつ読み込まれたかを知るための適切な指標は、次のうちどれですか?
  2. RT プラグインは、ナビゲーション タイミング キャプチャ以外に何をしますか?
  3. いつどのメトリックを使用する必要があり、その理由は?

ありがとうクナル

4

1 に答える 1

1

ここでお会いできてうれしいです:)

どの数値が正しいかは、何を測定しているかによって異なります。onload がいつ起動するかを測定していて、ブーメランが単独でイベントを発生させる場合、tdone は上記と同じ計算を使用するため、2 つの数値は通常同じです。done() メソッドで次のコードを参照してください。

if(impl.navigationStart) {
    t_start = impl.navigationStart;
}

( https://github.com/lognormal/boomerang/blob/master/plugins/rt.js#L368 )

impl.navigationStart は、window.performance.navigationStart と同じです。ただし、ブラウザーのバグにより、navigationStart が間違っているか存在しない場合を除きます。そのような場合、ブーメランは他の値にフォールバックします (詳細については、ソースを参照してください)。

終了時刻は、実際には done() メソッドが呼び出された時刻です。デフォルトでは、これはページの onload メソッドで呼び出されますが、これをオーバーライドできます。

多くのサイトには、onload イベントが発生する前に「完了」(ユーザーが使用可能) と見なされるページがあるためBOOMR.page_ready、その時点でブーメランのメソッドを呼び出すことができます。

同様に、onload の後にすべてのコンテンツをロードするサイトもあり、それまで待って page_ready を呼び出すこともできます。

最後のケースは、ページが Google Chrome によって事前にレンダリングされる場合です。この場合、onload イベントは発生しますが、ユーザーはページを使用できません。時間をキャプチャする前に、ページが prerender 状態から visible 状態に移行するまで待機します (この場合、すべての遷移をキャプチャします)。

これがあなたの質問に答えることを願っています。

于 2014-02-07T18:27:13.917 に答える