Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
入門 監視 輪読会#4 6章 フロントエンド監視
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
nntsugu
June 27, 2020
Technology
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
入門 監視 輪読会#4 6章 フロントエンド監視
nntsugu
June 27, 2020
More Decks by nntsugu
See All by nntsugu
最初に知っておきたい Gitのこと
nntsugu
0
110
Other Decks in Technology
See All in Technology
専門領域のAIをどう評価するか
bengo4com
2
300
Refining Active Record
shugo
0
170
しろおびから始める!ログ活用の第一歩
shumei_ito
0
960
スキマバイトという雇用形態は存在しないので、雇用期間1日のアルバイト契約を事業者とワーカーが結ぶ手続きを支えるのがタイミーなんです
akitoshiga
0
210
Running Kotlin + Quarkus with Lambda
nealle
1
4k
初海外で注意すべきこと12選!!!安全快適なre:invent生活にするために
yuuuuuuu168
1
180
AIにシークレットを見せない、WSL2で安全な開発環境
yazm
0
310
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
230
Metadata - Section 1: HTML Basics
mohab1
0
120
フィンテック養成勉強会#68
finengine
0
150
Temporal 最高!でも改めて「日付」について調べたら人類の負債すぎる件
riyaamemiya
0
190
Featured
See All Featured
A Soul's Torment
seathinner
8
3.8k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
630
Paper Plane (Part 1)
katiecoart
PRO
2
12k
It's Worth the Effort
3n
188
29k
[SF Ruby Conf 2025] Rails X
palkan
3
1.5k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Music & Morning Musume
bryan
48
7.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
A designer walks into a library…
pauljervisheath
211
25k
Docker and Python
trallard
47
4.2k
Writing Fast Ruby
sferik
630
63k
Transcript
「入門 監視」輪読会#4 6章 フロントエンド監視 2020/06/27 nntsugu
6章 フロントエンド監視
6章 フロントエンド監視 6.1 遅いアプリケーションのコスト 6.2 フロントエンド監視の2つのアプローチ 6.3 DOM 6.3.1 フロントエンドパフォーマンスのメトリクス 6.3.2 素晴らしい! でもどうやったらいいの? 6.4 ロギング 6.5 シンセティック監視 6.6 まとめ 目次
Internet 6章 フロントエンド監視 とは
Internet 6章 フロントエンド監視 とは Service
Internet 6章 フロントエンド監視 とは LB Proxy AP Cache DB Service
Internet 6章 フロントエンド監視 とは LB Proxy AP Cache DB Service
Internet 6章 フロントエンド監視 とは LB Proxy AP Cache DB Service
対象外
Internet 6章 フロントエンド監視 とは LB Proxy AP Cache DB Service
対象外
Internet 6章 フロントエンド監視 とは LB Proxy AP Cache DB Service
Internet 6章 フロントエンド監視 とは LB Proxy AP Cache DB Service
- HTML/CSS/JS/画像
Internet 6章 フロントエンド監視 とは LB Proxy AP Cache DB Service
- HTML/CSS/JS/画像 - ブラウザなどでロード・処理されるも のの監視のお話
Internet 6章 フロントエンド監視 とは LB Proxy AP Cache DB Service
- HTML/CSS/JS/画像 - ブラウザなどでロード・処理されるも のの監視のお話 - 監視のポイントは
Internet 6章 フロントエンド監視 とは LB Proxy AP Cache DB Service
- HTML/CSS/JS/画像 - ブラウザなどでロード・処理されるも のの監視のお話 - 監視のポイントは - ロード時間
Internet 6章 フロントエンド監視 とは LB Proxy AP Cache DB Service
- HTML/CSS/JS/画像 - ブラウザなどでロード・処理されるも のの監視のお話 - 監視のポイントは - ロード時間 - JSの例外
Internet 6章 フロントエンド監視 とは LB Proxy AP Cache DB Service
- HTML/CSS/JS/画像 - ブラウザなどでロード・処理されるも のの監視のお話 - 監視のポイントは - ロード時間 - JSの例外
6.1 遅いアプリケーションのコスト なぜフロントエンドを監視するか?
6.1 遅いアプリケーションのコスト なぜフロントエンドを監視するか? →フロントエンドのパフォーマンスを改善するため
6.1 遅いアプリケーションのコスト なぜフロントエンドを監視するか? →フロントエンドのパフォーマンスを改善するため →パフォーマンスを改善すると
6.1 遅いアプリケーションのコスト なぜフロントエンドを監視するか? →フロントエンドのパフォーマンスを改善するため →パフォーマンスを改善すると - トラフィック(SEO含む)、コンバージョン、売上が増加する
6.2 フロントエンド監視の2つのアプローチ どうフロントエンドを監視するか?
6.2 フロントエンド監視の2つのアプローチ どうフロントエンドを監視するか? 1. リアルユーザ監視 (Real user monitoring, RUM)
6.2 フロントエンド監視の2つのアプローチ どうフロントエンドを監視するか? 1. リアルユーザ監視 (Real user monitoring, RUM) 2.
シンセティック監視 (Synthetic monitoring)
6.2 フロントエンド監視の2つのアプローチ どうフロントエンドを監視するか? 1. リアルユーザ監視 (Real user monitoring, RUM) →
ブラウザからのメトリクス・ログ収集 2. シンセティック監視 (Synthetic monitoring)
6.2 フロントエンド監視の2つのアプローチ どうフロントエンドを監視するか? 1. リアルユーザ監視 (Real user monitoring, RUM) →
ブラウザからのメトリクス・ログ収集 2. シンセティック監視 (Synthetic monitoring) → ネットワーク経由で対象の状態を監視する
メトリクスはW3C推奨のAPI経由で取得するのが便利 6.3 DOM 6.3.1 フロントエンドパフォーマンスのメトリクス
6.3 DOM 6.3.1 フロントエンドパフォーマンスのメトリクス メトリクスはW3C推奨のAPI経由で取得するのが便利 - Navigation Timing API -
User Timing API - Resource Timing API - Performance Observer(Performance Timeline API) - etc..
6.3 DOM 6.3.1 フロントエンドパフォーマンスのメトリクス メトリクスはW3C推奨のAPI経由で取得するのが便利 - Navigation Timing API →
ブラウザ内のイベント(Cache読み、DOM構築など)の時間を取得できる - User Timing API - Resource Timing API - Performance Observer(Performance Timeline API) - etc..
6.3 DOM 6.3.1 フロントエンドパフォーマンスのメトリクス メトリクスはW3C推奨のAPI経由で取得するのが便利 - Navigation Timing API →
ブラウザ内のイベント(Cache読み、DOM構築など)の時間を取得できる - User Timing API → 任意の場所にコードを埋め込み、時間を計測できる - Resource Timing API - Performance Observer(Performance Timeline API) - etc..
6.3 DOM 6.3.1 フロントエンドパフォーマンスのメトリクス メトリクスはW3C推奨のAPI経由で取得するのが便利 - Navigation Timing API →
ブラウザ内のイベント(Cache読み、DOM構築など)の時間を取得できる - User Timing API → 任意の場所にコードを埋め込み、時間を計測できる - Resource Timing API → リソース単位で各種イベントの開始終了時間を取得できる - Performance Observer(Performance Timeline API) - etc..
6.3 DOM 6.3.1 フロントエンドパフォーマンスのメトリクス メトリクスはW3C推奨のAPI経由で取得するのが便利 - Navigation Timing API →
ブラウザ内のイベント(Cache読み、DOM構築など)の時間を取得できる - User Timing API → 任意の場所にコードを埋め込み、時間を計測できる - Resource Timing API → リソース単位で各種イベントの開始終了時間を取得できる - Performance Observer(Performance Timeline API) → 指定したイベント発生時に、その情報をオブザーバ(=コールバック)に通知し 処理できる。今はこれを使って上に挙げたAPIの情報を集めるのが実装上良さそ う - etc..
Speed Indexのように、まぁまぁいい感じに可視化してくれ るサービスもあるよ 6.3 DOM 6.3.1 フロントエンドパフォーマンスのメトリクス
6.3 DOM 6.3.2 素晴らしい!!でもどうやったらいいの?
6.3 DOM 6.3.2 素晴らしい!!でもどうやったらいいの? 各種APIからメトリクスを収集する実装例などが載っている良記事があったので興味 があれば見てみてね https://murashun.jp/blog/20190824-01.html
6.3 DOM 6.3.2 素晴らしい!!でもどうやったらいいの? 各種APIからメトリクスを収集する実装例などが載っている良記事があったので興味 があれば見てみてね https://murashun.jp/blog/20190824-01.html 実装するのが面倒な場合はSaaSを使いましょう。書籍の推しはGoogle Analyticsで す。
6.4 ロギング
- ユーザのブラウザコンソールをメッセージで埋め尽くすわけにもいかないので、どこか に送信&可視化ましょう 6.4 ロギング
- ユーザのブラウザコンソールをメッセージで埋め尽くすわけにもいかないので、どこか に送信&可視化ましょう - セルフホストしたElasticsearchなどに送るもよし 6.4 ロギング
- ユーザのブラウザコンソールをメッセージで埋め尽くすわけにもいかないので、どこか に送信&可視化ましょう - セルフホストしたElasticsearchなどに送るもよし - Loggly、SentlyなどのSaaSに送るもよし 6.4 ロギング
6.5 シンセティック監視
- ネットワーク経由でサービスへアクセスし、パフォーマンスを監視する - 動作確認、単純なレスポンスタイムを見たいだけなら curlでもok 6.5 シンセティック監視
- ネットワーク経由でサービスへアクセスし、パフォーマンスを監視する - 動作確認、単純なレスポンスタイムを見たいだけなら curlでもok - 高機能なシンセティック監視サービスの一例:WebpageTest - 対象のURLを入力するだけでさまざまなテストを行った結果を出してくれます 6.5
シンセティック監視
- ネットワーク経由でサービスへアクセスし、パフォーマンスを監視する - 動作確認、単純なレスポンスタイムを見たいだけなら curlでもok - 高機能なシンセティック監視サービスの一例:WebpageTest - 対象のURLを入力するだけでさまざまなテストを行った結果を出してくれます 6.5
シンセティック監視
- ネットワーク経由でサービスへアクセスし、パフォーマンスを監視する - 動作確認、単純なレスポンスタイムを見たいだけなら curlでもok - 高機能なシンセティック監視サービスの一例:WebpageTest - 対象のURLを入力するだけでさまざまなテストを行った結果を出してくれます -
Webページのパフォーマンスは様々な要因により、時間とともに劣化しがち - CIを組んで継続的な監視を行うのが望ましい - 上で紹介したWebpageTestのプライベート版をCIに組み込むなどして、 Webページのパフフォーマン ス劣化にすぐ気付けるようにすると◎ 6.5 シンセティック監視
6.6 まとめ
- 実際のユーザが見ているページのロード時間を監視しま しょう - 6.3 DOM 6.6 まとめ
- 実際のユーザが見ているページのロード時間を監視しま しょう - 6.3 DOM - JavaScriptの例外を監視しましょう - 6.4 ロギング 6.6 まとめ
- 実際のユーザが見ているページのロード時間を監視しま しょう - 6.3 DOM - JavaScriptの例外を監視しましょう - 6.4 ロギング -
ページのロード時間をCIシステムから計測し続け、ロード時 間が許容時間内に収まるようにしましょう - 6.5 シンセティック監視 6.6 まとめ
None
ご清聴ありがとうございまし た