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
Firebase Crashlytics と Google Cloud で Mobile Ov...
Search
Kento Kimura
PRO
February 01, 2024
Video
Technology
0
1.3k
Firebase Crashlytics と Google Cloud で Mobile Ovservability を加速する
1st Feb, GDG Tokyo Monthly Online Tech Talks
Kento Kimura
PRO
February 01, 2024
Tweet
Share
Video
More Decks by Kento Kimura
See All by Kento Kimura
Jagu'e'r Advent Calendar でコミュニティを盛り上げよう / Join us the community with Jagu'e'r Advent Calendar
aoto
PRO
0
10
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
750
「最速」で Gemini CLI を使いこなそう! 〜Cloud Shell/Cloud Run の活用〜 / The Fastest Way to Master the Gemini CLI — with Cloud Shell and Cloud Run
aoto
PRO
1
200
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
620
予測から調査へ、AI エージェントで叶える AIOps の未来 / From Prediction to Investigation: The Future of AIOps with AI Agents
aoto
PRO
0
94
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
480
Datadog による AI エージェント オブザーバビリティの最前線 / The Frontlines of AI Agent Observability by Datadog
aoto
PRO
0
73
プラットフォームとしての Datadog / Datadog as Platforms
aoto
PRO
2
610
Cloud Run を解剖して コンテナ監視を考える / Breaking Down Cloud Run to Rethink Container Monitoring
aoto
PRO
0
210
Other Decks in Technology
See All in Technology
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
180
戦えるAIエージェントの作り方
iwiwi
18
8.2k
境界線が消える世界におけるQAエンジニアのキャリアの可能性を考える / Considering the Career Possibilities for QA Engineers
mii3king
2
110
Open Table Format (OTF) が必要になった背景とその機能 (2025.10.28)
simosako
3
570
[Journal club] Thinking in Space: How Multimodal Large Language Models See, Remember, and Recall Spaces
keio_smilab
PRO
0
110
可観測性は開発環境から、開発環境にもオブザーバビリティ導入のススメ
layerx
PRO
4
2.5k
【SORACOM UG Explorer 2025】さらなる10年へ ~ SORACOM MVC 発表
soracom
PRO
0
200
dbtとAIエージェントを組み合わせて見えたデータ調査の新しい形
10xinc
7
1.7k
サブドメインテイクオーバー事例紹介と対策について
mikit
1
110
ヘンリー会社紹介資料(エンジニア向け) / company deck for engineer
henryofficial
0
440
어떤 개발자가 되고 싶은가?
arawn
1
350
CLIPでマルチモーダル画像検索 →とても良い
wm3
2
710
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
The Language of Interfaces
destraynor
162
25k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Site-Speed That Sticks
csswizardry
13
940
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Code Reviewing Like a Champion
maltzj
526
40k
Statistics for Hackers
jakevdp
799
220k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Transcript
Firebase Crashlytics と Google Cloud で Mobile Ovservability を加速する 1st
Feb, GDG Tokyo Monthly Online Tech Talks, Kento Kimura
Agenda 2 01 Firebase の機能群 02 Mobile Observability を考える 03
Crashlytics が収集する情報 04 Crashlytics から Google Cloud へ 05 まとめ
Self-Introduction • 所属:Technical Solutions / Sales Engineer • 担当:パブリッククラウドのアーキテクト知識を活かした Datadog
のプリセールス技術支援 • 資格:Google Cloud 全 11 資格、AWS 全 12 資格、Azure 13 資格 • 表彰:Google Cloud Partner Top Engineer 2023-24 2022-23 APN All AWS Certifications Engineer 2023 Japan AWS Jr.Champion Jagu'e'r Award 2023 優秀賞 木村 健人 (Kento Kimura) Datadog Japan GK Technical Solutions Sales Engineering History データセンター運用保守 → パブリッククラウド技術支援 → プリセールス技術支援 Community Jagu’e’r デジクラ人材育成分科会 運営リード O11y-SRE 分科会 運営メンバー TechWriters 分科会 運営メンバー Partner Top Engineer 2023 Partner Top Engineer 2024
4 Firebase の機能群
Firebase の機能群 5 Build • Authentication • App Check •
Firestore Database • Realtime Database • Extensions • Storage • Hosting • Functions • Machine Learning • Remote Config Release & Monitor • Crashlytics • Performance Monitoring • Test Lab • App Distribution • Remote Config Analytics • Dashboard • Realtime analytics • Events • Conversions • Audiences • Custom Definitions • Latest Release • DebugView Engagement • A/B Testing • Messaging • Remote Config • Dynamic Links • AdMob • Crashlytics • Authentication
Firebase Crashlytics の立ち位置 6 ビルド・リリースとモニタリング・エンゲージメント(・アナリティクス)に分類される Crashlytics は Firebase の「①リリースとモニタリング」「②エンゲージメント」内の機能
Crashlytics で得られる情報は ①モバイルアプリケーションの監視やデバッグに利用する 他に ②モバイルアプリケーションの利用者の体験の可視化に利用できる!! 今回は、Mobile Observability という文脈で Crashlytics の役割を明確にして、その情報を Google Cloud によって有効活用する方法を考えてみます🐶
8 Mobile Observability を考える
Mobile Observability を考える CNCF Observability Whitepaper Observability Signals として Primary
Signals の Metrics, Logs, Traces に加えて、Profilers, Dumps について触れている。 モバイルアプリケーションの場合に収集できる それぞれの信号が、Mobile Observability で重要 9
Mobile Observability を考える: Logs • Logs システムの動作に関する詳細な記録 エラーメッセージやトランザクション履歴 モバイルアプリケーションのアクセスログや エラーメッセージ、クラッシュ時の状態を示すログ
10
Mobile Observability を考える: Metrics • Metrics システムの状態を定量的に表すデータ モバイルアプリケーションの動作に利用される モバイル端末のCPU やメモリの使用量
クラッシュ・エラー率、プログラムの実行時間など 11
Mobile Observability を考える: Traces • Traces リクエストのパスを追跡するためのデータ モバイルのバックグラウンドをはじめ、 ページ読み込みやリクエストにかかった時間を追跡 必ずしも分散トレーシングである必要はない
12
Mobile Observability を考える: Dumps • Dumps アプリのプロセスがクラッシュした際、プログラムが使用しているメモリ内の情報を記録して保存す るコアダンプファイル モバイルアプリはエンドユーザーの端末で動作するため、 クラッシュの原因を動作環境の情報と共に記録し、原因を分析することが重要
Mobile Observability が実現されると、ユーザーの端末上で稼働している モバイルアプリケーションの情報を収集して、問題があるプロセスを特定したり、 動作端末の環境情報を比較して原因の特定・デバッグが可能になる 13
14 Crashlytics が収集する情報
Crashlytics が収集するもの = モバイルアプリがクラッシュした時のクラッシュレポート Q. クラッシュレポートはどんな情報か? A. クラッシュ時のスタックトレース・デバイス情報・OSバージョンなど Q. クラッシュレポートは
Observability Signals の内で何を含むか? A. Logs と Metrics の信号。スタックトレース≠ダンプファイル、スタックトレース≠トレース Q. Traces, Profilers, Dumps の信号は取得できるのか? A. Performance Monitoring はモバイルアプリのフォアグラウンド・バックグラウンド・画面レンダリン グ・ページ 読み込み・ネットワークリクエストのパフォーマンスの Traces, Metrics を取得できる Profilers: モバイルアプリのプロファイルはできないが、RealTime DB のプロファイルは可能 Dumps: クラッシュ時のメモリ情報としてのコアダンプの代わりに、上記のスタックトレース Crashlytics が収集する情報 15
Crashlytics が収集する情報 Crash-free statistics Analytics でクラッシュが発生してい ないユーザーの割合 を可視化 16 Issues
クラッシュ時のスタックトレースの概要 前後のスタックトレースやデバイス情報 Trends クラッシュの発生数とユーザー数
Crashlytics が収集する情報 17 Total events by version バージョン毎のクラッシュイベント発生 数 Events
スタックトレースの詳細 クラッシュしたデバイス情報の詳細
クラッシュレポートから分析したいこと スタックトレースからの傾向分析 └日別のクラッシュ数の推移→ Crashlytics の Total events で可視化 └複数のクラッシュに関係している処理→カスタマイズして分析 └特定のユーザーが経験したクラッシュの内容→
Crashlytics の Issues で検索 └クラッシュの問題が発生している国別の分析→カスタマイズして分析 Crashlytics Dashboard でできることには限界がある… Crashlytics が収集する情報 18
19 Crashlytics から Google Cloud へ
Firebase と Google Cloud の関係 Firebase は 2014年に Google に買収され、一部プロダクトが
Google Cloud と統合 20
21 Firebase on Google Cloud • グローバルにモバイルデータの保存・同期・クエリを可能 とする NoSQL ドキュメント
DB • モバイルデバイス間でのデータ同期により、リアルタイム アプリケーションを実現 • Firebase によってトリガーされ、データの変更やユー ザーの登録、分析の効率化を行う • Node.js で管理されるアプリケーションコードを安全に保 管し、メンテナンスコストを削減 • 堅牢なオブジェクトストレージを利用し、無制限の容量の データ管理を実現 • 専用の SDK は接続に応じ、自動的に一時停止・再開を 行いデータ転送を効率化 • 物理・仮想デバイスによるシミュレートを行いアプリ品質 を保証する • クラウド上で利用できるテストレポートにより、アプリ上の 問題を発見しデバッグできる
Firebase Crashlytics Mobile Devices Google Analytics Firebase Performance BigQuery Firebase
to Google Cloud Firebase Integrations Firebase のモバイル情報をネイティブで様々な プラットフォームに連携し、大容量データの 分析・可視化・通知などを実現する。 Google Cloud では BigQuery による分析と、 Cloud Logging へのアクセスログ転送が可能。 同一プロジェクト内にまとめることで、請求や アクセスを一括で制御することができる。
Crashlytics のデータを BigQuery で分析する 例) 過去1ヶ月の上位5件のクラッシュ SELECT issue_title, COUNT(DISTINCT event_id)
AS events FROM `your_project.firebase_crashlytics.package_name_ANDROID_REALTIME` WHERE event_timestamp >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY) GROUP BY issue_title ORDER BY events DESC LIMIT 5; 23
24 まとめ
まとめ • Firebase Crashlytics は Firebase の中でクラッシュの監視や分析に用いる機能 • Mobile Observability
はモバイルアプリケーションの状態を把握するための指標 • Crashlytics はクラッシュ時のスタックトレースを収集できる • Crashlytics はネイティブで BigQuery へのデータのエクスポートが可能 Firebase を利用する際は Crashlytics で Mobile Observability を加速しよう! 25
Thank you