1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

スマホページの読み込みプロセスを録画する無料ツールLoadshowを公開

Last updated at Posted at 2022-02-27

Loadshow β

こんな感じでスマホページの読み込みプロセスをコンパクトな動画にします。

例: トヨタ自動車WEBサイト https://toyota.jp/

こんな感じで複数の動画を並べて比較する機能もあります。

競合比較はもちろん、同じページを時間の違いでも比較できます。速度が改善されたよーといプレゼンにも。

ぜひ遊んでみてください!

なぜ作ったか

単純に動画にすると 表示速度 がわかりやすいと思ったからです。

計測ツールとしては PageSpeed Insights が有名ですが、結果が数値で示されても偉い人に伝わりません。

そもそも PageSpeed Insights はWebアプリケーションとして応答性能も重視するため、結果は 表示速度 とちょっと違います。

RUMを計測するのが一番ですが、やはり数値だとピンときません。

わかりやすい動画で多くの人が問題を認識し、共有してくれるといいなと願ってます。

細かな話

スマホのシミュレーション

ブラウザは Puppeteer で制御してます。CPU Throttlingは x4、Upload/Downloadは最大 10Mbps に制限しています。

90%描画 (Paint 90%)について

通信が一通り終わったタイミングから2秒ほどウェイトを入れて、Webページという画 が完成したと判断します。

これが動画の最終フレームであり、読み込み過程のフレームは最終フレームに近づく過程と捉えて、ピクセルベースの差分から進捗を評価します。

完成の90%まで近いたら必要な情報はおおよそ表示されただろう、ということで90%描画を 表示速度の基準値 としました。

カルーセルスライダーのような動的要素の影響を吸収する効果もあります。

ビューポート

ビューポートを縦長にして録画しています。そのため、CSSによっては表示が大きく崩れることがあります。

また、通常のブラウザとはリソースの扱いが厳密には違う部分があるとも推測してます。

技術スタック

ホスティング Firebase

ホスティング、Googleアカウント認証、結果データの管理、アナリティクスは Firebase です。楽ちん!

動画生成 Puppeteer + FFmpeg

動画の生成は PuppeteerFFmpeg でゴリゴリやってます。

フロントエンド Vue.js 3 + simple.css

Vue.jsSimple.css でさくっと。

素のHTMLを書くだけで不快じゃないデザインになるSimple.cssいい!

ワーカー おうちKubernetes + PubSub

動画生成がけっこう重い処理です。クラウドだとバーストしたときコストが怖いので、退役マシンによるおうちKubernetesクラスタで処理してます。

なので計測時間には計測側由来のばらつきもあります。無料なのでご容赦ください。

1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?