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
イベントログを活用した不具合調査の効率化
Search
naginx
March 04, 2025
Programming
0
69
イベントログを活用した不具合調査の効率化
https://asken.connpass.com/event/343700/
naginx
March 04, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
ZeroETLで始めるDynamoDBとS3の連携
afooooil
0
130
Strands Agents で実現する名刺解析アーキテクチャ
omiya0555
1
110
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.4k
CIを整備してメンテナンスを生成AIに任せる
hazumirr
0
300
なぜあなたのオブザーバビリティ導入は頓挫するのか
ryota_hnk
3
510
JetBrainsのAI機能の紹介 #jjug
yusuke
0
110
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
8
350
Android 16KBページサイズ対応をはじめからていねいに
mine2424
0
740
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
650
Streamlitで実現できるようになったこと、実現してくれたこと
ayumu_yamaguchi
2
230
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
570
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
370
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Producing Creativity
orderedlist
PRO
346
40k
Raft: Consensus for Rubyists
vanstee
140
7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Typedesign – Prime Four
hannesfritz
42
2.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
161
15k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Code Reviewing Like a Champion
maltzj
524
40k
The Straight Up "How To Draw Better" Workshop
denniskardys
235
140k
Documentation Writing (for coders)
carmenintech
72
4.9k
Transcript
© asken.inc イベントログを活用した 不具合調査の効率化 25/02/20 株式会社asken 三浦
© asken.inc 2 自己紹介 経歴 - iOSエンジニア(2018年〜) - asken 入社(2021年末〜)
- 医療事業部で糖尿病患者向けアプリの開発 - コンシューマ事業部であすけんアプリの開発
© asken.inc 3 不具合の再現難しい問題
© asken.inc 4 例えば...... 1. ユーザーから報告された発生手順を試しても再現しない -> 報告された手順が間違っている?環境要因? 2. Crashlytics上のスタックトレースだけでは再現方法が特定できない
-> 原因箇所はわかるが発生条件は? 3. 監視メトリクスやシステムログだけでは原因の仮説が立てられない -> 判断材料が足りない.......
© asken.inc 5 解決策: 施策分析で利用している Firebaseのイベントログを活用す る
© asken.inc 6 メリット ・既存の仕組みを流用するため、追加の開発なしで利用可能 ・運用フローやルールを把握すれば、今すぐにでも使える ・不具合ごとの個別対応が最小限で済む ・分析の優先度が高い画面は既にログが整備されているケースが多い ・個別の調査ログ追加・リリース・浸透待ちの手順を踏まなくてよい
© asken.inc 7 効果 ・再現手順を特定できる ・アプリ仕様に詳しくないメンバーでも調査対応ができるようになる ・詳しいメンバーでも把握しきれていない特殊な操作フローに気づける
© asken.inc 8 注意点 ・プライバシーポリシーに準拠し個人情報は秘匿して利用する。 ・イベントログは施策分析が本来の目的のため、無理な活用は避ける。 ・BigQueryの利用は事前に確認を取り利用料金を把握した上で利用する。
© asken.inc 手法解説 2. イベントログの抽出 9 1. 下準備 3. イベントログの活用
4. 活用の成果
© asken.inc 10 1. 下準備
© asken.inc 11 下準備 ・SDKを導入しイベントログをFirebaseに送信・蓄積しておく ・FirebaseとBigQueryを連携する ・BigQueryで抽出可能な環境を作る 参考: ・https://firebase.google.com/docs/analytics/events?hl=ja ・https://firebase.google.com/docs/projects/bigquery-export?hl=ja
© asken.inc 12 2. イベントログの抽出
© asken.inc 13 BigQueryを使ったログ抽出 イベントログのDBに対し ・テーブル・時間帯・ユーザーのIDを指定 ・時系列順にソート 分析担当者に協力してもらいテンプレ化しておくと効率的
© asken.inc 14 クエリ例
© asken.inc 15 抽出結果(CSV)
© asken.inc 16 3. イベントログの活用
© asken.inc 17 ログ整形 生成AIを使ってログを整形する ・BigQueryからCSVでエクスポートしローカルにDL ・秘匿したい情報の削除・差し替えを行う ・CSVをアップロード ・プロンプトを与えて整形ルールを指示
© asken.inc 18 プロンプト例
© asken.inc 19 整形後の出力例 1. ホームのFABタップ 2. FABの朝食ボタンタップ 3. 食事登録画面表示
4. 食事検索フォームタップ 5. 食事検索画面表示 といった操作手順が把握できる ※ イベント名は実際のものと異なります
© asken.inc 20 実際の画面
© asken.inc 21 再現手順の特定 イベント名と実装を照らし合わせる 既に画面仕様書とイベントの対応表があればそれを参考に進める ホワイトボードツール等使って可視化しながら進める
© asken.inc 22 4. 活用の成果
© asken.inc 23 Before 1. ユーザーから報告された発生手順を試しても再現しない -> 報告された手順が間違っている?環境要因? 2. Crashlytics上のスタックトレースだけでは発生条件が特定できない
-> 原因箇所はわかるが、発生条件は? 3. 監視メトリクスやシステムログだけでは原因の仮説が立てられない -> APIエラーが出てるけど通常利用では再現しない...
© asken.inc 24 After 1. ユーザーから報告された発生手順を試しても再現しない -> 正確な操作手順が特定でき、環境要因かの切り分けが容易になる 2. Crashlytics上のスタックトレースだけでは発生条件が特定できない
-> クラッシュに至るまでの操作手順から発生条件を特定できる 3. 監視メトリクスやシステムログだけでは原因の仮説が立てられない -> 判断材料が増えるので仮説を立てやすくなる
© asken.inc 25 まとめ
© asken.inc 26 まとめ イベントログは施策分析だけでなく運用・保守にも役立つ 分析担当者と協力してイベントログのメンテナンスを定期的に実施しよう 運用・保守コストを最小化し、機能開発に集中できる環境を整えよう
© asken.inc 27 Thank you!