<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>cyano &#187; パフォーマンス</title>
	<atom:link href="http://www.onflow.jp/cyano/archives/tag/%e3%83%91%e3%83%95%e3%82%a9%e3%83%bc%e3%83%9e%e3%83%b3%e3%82%b9/feed" rel="self" type="application/rss+xml" />
	<link>http://www.onflow.jp/cyano</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Sat, 24 Dec 2011 09:24:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>ユーザーの体感速度をGoogle Analyticsで可視化する</title>
		<link>http://www.onflow.jp/cyano/archives/256?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25e3%2583%25a6%25e3%2583%25bc%25e3%2582%25b6%25e3%2583%25bc%25e3%2581%25ae%25e4%25bd%2593%25e6%2584%259f%25e9%2580%259f%25e5%25ba%25a6%25ef%25bc%2588%25e3%2583%259a%25e3%2583%25bc%25e3%2582%25b8%25e3%2581%25ae%25e3%2583%25ad%25e3%2583%25bc%25e3%2583%2589%25e6%2599%2582%25e9%2596%2593%25ef%25bc%2589%25e3%2582%2592google-anal</link>
		<comments>http://www.onflow.jp/cyano/archives/256#comments</comments>
		<pubDate>Tue, 24 Feb 2009 23:37:26 +0000</pubDate>
		<dc:creator>ksakai</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Analytics]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[パフォーマンス]]></category>
		<category><![CDATA[体感速度]]></category>

		<guid isPermaLink="false">http://www.onflow.jp/cyano/?p=256</guid>
		<description><![CDATA[ユーザーがページをロード開始してから閲覧できるようになるまでのロード時間はユーザーが自分のページを快適に閲覧できているかどうかを示す重要なファクターです。Google Analyticsのイベントという機能を使用することで、ユーザーの実際の体感速度を可視化することができます。 たとえば、このブログのある期間における体感速度のグラフはGoogle Analytics上で以下のように出ています。   44.84%のユーザーは100〜499msでロードできており、1秒未満でロード完了しているユーザーは合わせて73.49%であるとわかります。また、3秒以上かかっているユーザーも7.42%居ることも分かります。3秒以上ロードにかかるようだと離脱率も高くなるので、7.42%のユーザーに対して何かの施策が必要であるということも分かります。 このように、ユーザーが実際感じている体感速度を可視化することで、このWebに高速化が必要かや、どの程度のコストをかけて行うべきかを検討することが出来ます。 この記事では、Google Analyticsを使って、体感速度を記録する方法を紹介します。 まず、お使いのGoogle Analyticsアカウントでイベント機能を有効にする必要があります。方法はGoogle AnalyticsでEvent Trackingを有効にするをご覧ください。有効になるまで1週間程度かかります。 次に、time-tracker.jsをGoogle CodeのGoogle Analytics - Extending Event Trackingからダウンロードしてきます。なお、time-tracker.jsはApache2 licenseとなっています。 次に、time-tracker.jsをhead直後で読み込み、その直後に計時を始めるコードを記述します。コードとしては以下の通り。 &#60;script type="text/javascript" src="time-tracker.js"&#62;&#60;/script&#62; &#60;script type="text/javascript"&#62; var timeTracker = new TimeTracker(); timeTracker._recordStartTime(); &#60;/script&#62; 最後に、描画終了時に呼び出されるイベント（onloadなど）や、DOMの構築終了時に呼び出されるイベント（DOMContentLoadedなど）、体感速度として計測したいところに以下のようなイベント送出コードを埋め込みます。例示のコードではjQueryでwindow.onloadイベントにフックを入れ、そこで計時しています。 jQuery.event.add(window, "load", function(){ try { var &#8230; <a href="http://www.onflow.jp/cyano/archives/256">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>ユーザーがページをロード開始してから閲覧できるようになるまでのロード時間はユーザーが自分のページを快適に閲覧できているかどうかを示す重要なファクターです。<a href="http://code.google.com/intl/ja-JP/apis/analytics/docs/eventTrackerGuide.html">Google Analyticsのイベント</a>という機能を使用することで、ユーザーの実際の体感速度を可視化することができます。</p>
<p>たとえば、このブログのある期間における体感速度のグラフはGoogle Analytics上で以下のように出ています。</p>
<p><img class="alignnone size-full wp-image-257" title="Google Analyticsのイベントでのユーザー体感速度グラフ" src="http://www.onflow.jp/cyano/wp-content/uploads/2009/02/analytics.gif" alt="Google Analyticsのイベントでのユーザー体感速度グラフ" width="450" height="198" /> <br />
44.84%のユーザーは100〜499msでロードできており、1秒未満でロード完了しているユーザーは合わせて73.49%であるとわかります。また、3秒以上かかっているユーザーも7.42%居ることも分かります。3秒以上ロードにかかるようだと離脱率も高くなるので、7.42%のユーザーに対して何かの施策が必要であるということも分かります。</p>
<p>このように、ユーザーが実際感じている体感速度を可視化することで、このWebに高速化が必要かや、どの程度のコストをかけて行うべきかを検討することが出来ます。</p>
<p>この記事では、Google Analyticsを使って、体感速度を記録する方法を紹介します。</p>
<p><span id="more-256"></span></p>
<p>まず、お使いの<a href="http://www.google.com/analytics/ja-JP/">Google Analytics</a>アカウントでイベント機能を有効にする必要があります。方法は<a href="http://www.onflow.jp/cyano/archives/239">Google AnalyticsでEvent Trackingを有効にする</a>をご覧ください。有効になるまで1週間程度かかります。</p>
<p>次に、<a href="http://code.google.com/apis/analytics/samples/time-tracker.js">time-tracker.js</a>をGoogle Codeの<a href="http://code.google.com/intl/ja-JP/apis/analytics/docs/eventTrackerWrappers.html">Google Analytics - Extending Event Tracking</a>からダウンロードしてきます。なお、time-tracker.jsは<a href="http://www.apache.org/licenses/LICENSE-2.0">Apache2 license</a>となっています。</p>
<p>次に、time-tracker.jsをhead直後で読み込み、その直後に計時を始めるコードを記述します。コードとしては以下の通り。</p>
<pre><code>&lt;script type="text/javascript" src="time-tracker.js"&gt;&lt;/script&gt;
&lt;script type="text/javascript"&gt;
var timeTracker = new TimeTracker();
timeTracker._recordStartTime();
&lt;/script&gt;</code></pre>
<p>最後に、描画終了時に呼び出されるイベント（onloadなど）や、DOMの構築終了時に呼び出されるイベント（DOMContentLoadedなど）、体感速度として計測したいところに以下のようなイベント送出コードを埋め込みます。例示のコードではjQueryでwindow.onloadイベントにフックを入れ、そこで計時しています。</p>
<pre><code>jQuery.event.add(window, "load", function(){
  try {
    var pageTracker = _gat._getTracker("UA-xxxxxx-x");
    timeTracker._recordEndTime();
    timeTracker._setHistogramBuckets([25, 50, 100, 500, 1000, 2000, 3000]);
    timeTracker._track(pageTracker);
  } catch(err) {}
});</code></pre>
<p>全体のコードしては、_recordStartTime()を呼び出してから_recordEndTime()を呼び出すまで時間（headタグ直後のJavaScriptからwindow.onloadにフックしたコードが実行されるまでの時間）がGoogle Analytics上に表示されることになります。</p>
<p><img class="alignright size-full wp-image-259" title="Google Analyticsでのイベントの閲覧方法" src="http://www.onflow.jp/cyano/wp-content/uploads/2009/02/analytics2.gif" alt="Google Analyticsでのイベントの閲覧方法" width="143" height="250" />Google Analytics上での体感速度の閲覧方法ですが、Google Analyticsでイベントトラッキングが有効になっている場合、[コンテンツ]の下に[イベントのトラッキング]というカテゴリが出来ており、ここで体感速度のグラフが閲覧できます。</p>
<p>以下はより詳しい解説です。</p>
<p>timeTracker._setHistogramBuckets()では、体感速度をどのような区切りで記録するかを指定します。例示コードでは25〜49ms、50〜99msなど6区間とその区間以外の計8区間で体感時間を記録する設定としています。</p>
<p>timeTracker._track()の第2引数にはGoogle Analytics上のイベントのカテゴリの名前を指定できます。省略するとGoogle Analytic上では「TimeTracker」カテゴリのイベントとして体感速度が表示されます。例えば「Load Time」カテゴリで記録したければ<code>timeTracker._track(pageTracker, "Load Time");</code>とします。第3引数にはラベルを指定できます。現状、そのイベントが起きたURLなどをドリルダウンしていくことが出来なさそうなので、第3引数にURLのパス部分を入れておくと、どのページが遅いかを取り出しやすくなるかと思います。</p>
<p>このようにGoogle Analyticsと少しのコードで簡単にユーザーの体感速度を可視化することができます。今まで実際のユーザーの体感速度をデータとして見ることは難しかったので、これを機会にサイトのパフォーマンス測定をしてみるとよいでしょう。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.onflow.jp/cyano/archives/256/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

