necotech blog

Slimstat Analyticsのログに出てくる”SL”と”PS”の意味は?

WordPressのアクセス解析プラグインのSlimstat Analytics。アクセスログを見ているとSLとPSという謎のプロパティが表示されている。処理か何か、かかった時間を計測しているんだろうなーというのは何となくわかるけど、ネット上を調べてもいまいちよく分からない。気になったのでソースを追って調べてみた。

Server Latency

SLとはServer Latencyのこと。レイテンシとは、データの転送要求を送ってから、実際のデータを取得するまでの待ち時間のこと。要は、サーバの処理にどれくらいの時間がかかったか、という指標。それをミリ秒でDBに記録している。

ではそれをどうやって計算しているかというと、wp-slimstat.jsの154-161行目に処理が書いてある。(バージョン: 4.6.4、解析モード: Client)

get_server_latency : function() {
  slim_performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance || {};
  if ( "undefined" == typeof slim_performance.timing ){
    return 0;
  }

  return slim_performance.timing.responseEnd - slim_performance.timing.connectEnd;
},

window.performanceとはなにか?というと、下記らしい。

パフォーマンスインタフェースは、指定されたページのあらゆるタイミングに関わるパフォーマンス情報を表します。

Performance – Web API インターフェイス | MDN

Page Performance

PSとは、Page Performanceのこと。こちらも同様にwp-slimstat.jsの145-152行目に処理がある。

get_page_performance : function() {
  slim_performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance || {};
  if ( "undefined" == typeof slim_performance.timing ){
    return 0;
  }

  return slim_performance.timing.loadEventEnd - slim_performance.timing.responseEnd;
},

こちらもPerformanceオブジェクトを利用している。具体的に何と何の処理の間を計測しているかというと、W3Cから拝借した画像を見てみると分かりやすい。

Navigation Timing Level 2

HTTPのレスポンスが全て返ってきた後から、ドキュメントのonLoadイベントが終わった後の時間を計測している。つまりページの描画にかかった時間ということかな。

Share on Facebook
Share on LinkedIn
Pocket