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
98
イベントログを活用した不具合調査の効率化
https://asken.connpass.com/event/343700/
naginx
March 04, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
200
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.8k
「やめとこ」がなくなった — 1月にZennを始めて22本書いた AI共創開発のリアル
atani14
0
380
Understanding Apache Lucene - More than just full-text search
spinscale
0
110
コードレビューをしない選択 #でぃーぷらすトウキョウ
kajitack
3
940
受け入れテスト駆動開発(ATDD)×AI駆動開発 AI時代のATDDの取り組み方を考える
kztakasaki
2
570
Claude Code の Skill で複雑な既存仕様をすっきり整理しよう
yuichirokato
1
370
Claude Code Skill入門
mayahoney
0
350
株式会社 Sun terras カンパニーデック
sunterras
0
2.1k
API Platformを活用したPHPによる本格的なWeb API開発 / api-platform-book-intro
ttskch
1
130
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
180
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
13
8k
Featured
See All Featured
Believing is Seeing
oripsolob
1
82
It's Worth the Effort
3n
188
29k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
170
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
470
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Being A Developer After 40
akosma
91
590k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
130
The SEO Collaboration Effect
kristinabergwall1
0
390
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
990
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
140
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!