Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
たのしくみんなのWifi速度を収集する、しかもJSで!
Search
tan-t
December 08, 2023
0
270
たのしくみんなのWifi速度を収集する、しかもJSで!
tan-t
December 08, 2023
Tweet
Share
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Six Lessons from altMBA
skipperchong
28
3.9k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
220
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
930
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Producing Creativity
orderedlist
PRO
346
40k
Why You Should Never Use an ORM
jnunemaker
PRO
57
9.4k
RailsConf 2023
tenderlove
30
1.1k
The Language of Interfaces
destraynor
158
25k
Transcript
たのしくみんなのWifi速度を 収集する、しかもJSで! 株式会社DELTA 丹哲郎
主にインフラ領域の技術支援サービスやってます!
私は代表です! 2日ぶり人生2回目のLTです!よろしくお願いします!
(ところで)会場あります!@シブヤ
最近オフィスのWifiが遅い!(らしい)
こういうのは各自が好き勝手言うからファクトが欲しい 電子レンジ? 接続台数? 上りが遅い? 時間帯?
アーキテクチャ(妄想) 端末 データレイク 端末 端末 端末 グラフ化など インサイト
極端に遅いことの検知はクライアントでやりたい 端末 データレイク 端末 端末 端末 グラフ化など インサイト 低速になった時点で通信が不安定にな るので、「遅くなった」ことは
クライアントが検知してほしい
でも各自のOSはバラバラ
Chrome拡張にしてバックグラウンド実行させてみよう でもNW速度をキャプチャできるAPIなんてあるの?
navigator.connection
でもなんか数値が小さい・・・?
丸めた値らしい(fingerprinting対策とのこと) https://stackoverflow.com/questions/5529718/how-to-detect-internet-speed-in-javascript/47511842#47511842
「遅いこと」がわかればOK
遅いときには通信しづらいので、復帰時にまとめて送付 実装はどうすればいいのかな? • 定期的にチェック • 遅くなったら低速モードに • 高速に戻った時点でレポートを投げる • チェック間隔は高速時と低速時で変えたいかも、、、?
setIntervalだと等間隔すぎる件 高速時が9割で、低速時にはこまめにチェックしたいという場合にsetIntervalだとどちら に合わせるか難しい
「さっきまで低速だった」という状態も管理したい 関数の外に状態を置いて更新したくないですよね、、、
setTimeoutと再起でシンプルに書けるかも?
setTimeoutと再起でシンプルに書けるかも? 状態 遅い間はどんどん積み重なる 速くなったらリセット catch-allなループ
setTimeoutと再起でシンプルに書けるかも? Exponential backoff 基本は30秒ごとにサンプリング
setTimeoutと再起でシンプルに書けるかも? いま遅い 遅かった それ以外
(今後の課題)テスタビリティは低そう これは外から渡したほうが良さそう ここはSpyする? これも外から渡したほうが良さそう?
[CM]AWSコストの無料診断やってます!
[CM]AWSコストの無料診断やってます! https://costcut.cloud
ありがとうございました!