🐶

Datadogによるアプリ監視

2025/02/14に公開

導入

こんにちは、Androidチームの田村です!
今回はアプリに監視ツールとしてDatadogを導入し、半年ほど運用してみた所感を書きたいと思います。


Crash Log




経緯

弊社のアプリではFirebase Crashlyticsでクラッシュ周りの計測はしていましたがユーザーの行動など詳細な情報の確認までは出来ておらず修正に時間を要したり、また画面毎のパフォーマンスや各機能の利用状況などを数値で把握できる基盤が整っておらず潜在的な問題すら把握できていない状況でした。
上記の問題を解決する手段として、DatadogのMobile Real User Monitoringという機能に注目しました。こちらを利用することで、ユーザーの行動やアプリのパフォーマンス、状態をリアルタイムに把握可能です。さらに、弊社ではサーバーサイドやWebフロントでもDatadogを導入しており、情報の連携が可能でシームレスに問題の対処がしやすくなる点も考慮し、Datadogをアプリに導入することに決めました。




数値計測と改善

アプリへの導入は比較的簡単にでき、各画面にトラッキング処理を埋め込んでいかずとも起動時にセットアップ処理を呼ぶだけで一連の数値や行動ログを計測できました。

以下の画像の様にユーザーの行動を把握しつつ、いつどこの画面に遷移してどういった操作をした後に問題が発生したのかを確認できる為、問題の特定がしやすくなりました。
特にAPI通信周りもトラッキングしているのでリクエスト・レスポンスのログも同時に確認でき、シームレスに問題の対処ができるのも非常に便利です。
これらを活用して、今まではFirebase Crashlytics上でクラッシュすることは把握できていても再現方法が不明で対処が難しかった不具合も、Datadogを導入したことで解決でき大幅に削減することができました。

User Action




また現在チーム内で進めているリファクタリングにおいても、どの画面を優先度高く着手していけば良いかの指標として一役買っています。
以下の画像の様にダッシュボード上で各画面の表示回数やメモリ利用状況、フレームレートなどの情報を把握できるので、ユーザーによく使用されていてかつパフォーマンスの悪い画面を優先的にリファクタリングしていっています。

Performance




他にもダッシュボード上では様々な数値をカスタマイズして計測可能でアクティブユーザー数やOSバージョン、アプリバージョン毎のユーザー数をはじめ、遷移数やクラッシュ数といった様々なパラメータを組み合わせて独自に作成可能です。
各サービスに散在しがちな情報を統合して一元的に確認できるので、属人化を抑制しつつ異常な点を一目で確認することができるようになりました。


Dashboard




今まではリリース後に問題が起きても検知する基盤が弱く、場合によってはユーザーからの報告で気づく後手後手の対応となっていたり、再現方法が不明で修正までに時間を要するといった状況でしたが、Datadog導入後はアラート機能なども用いて異常を早期に検知・修正できる様になったので、今まで気づかなかった潜在的な問題の発見ができると共にそれに費やしていたQA確認の工数が減り、安心感を持って開発することが可能になりました。




最後に

上記の機能を活用することで異常をワンストップで検知・再現・修正できる為、アプリの保守が格段にしやすくなりました。
今までは計測基盤自体が整備されていなかったので、数値を見て改善していくという土壌を形成できたのも良かった点でした。
またこれらの機能以外にもセッションリプレイやユーザージャーニー、ヒートマップなど活用できていない機能もあるので、それらもキャッチアップして導入し更なる改善に繋げられたらなと思います。
まだまだ改善点は多いですが、Datadogを駆使してより良いアプリにしていきたいです。


ご覧頂きありがとうございました!





助太刀では一緒に開発してくれるメンバを募集してます!
少しでもご興味を持っていただけたら下記よりお気軽にご連絡ください!

助太刀テックブログ

Discussion