Performance for Conversion! 分散トレーシングでボトルネックを特定せよ

Androidアプリにおいて、起動のもたつきやスクロールのカクつきは、ユーザーの離脱やCVR低下に直結する重大な課題です。しかし、プロジェクトが複雑になるにつれて、Firebase Performance Monitoring などの一般的な手法では、「なぜパフォーマンス指標が落ちているのか」「どこがボトルネックなのか」を突き止めるのが難しくなります。 たとえば、画面の初期状態が表示されるまでの時間(Time to First Frame)が遅い場合、Data層の処理実行や画像のデコードが遅延していると思われがちですが、実際には、TCPコネクションの確立やCDN経由でのDNS解決など、アプリの外側の非同期処理が真因であるケースもあります。また、I/Oの詰まりがパフォーマンスの不具合に繋がる場合があり、必ずしもネットワークそのものが原因とは限らないため、手元で再現できないボトルネックの調査は非常に困難です。 本セッションでは、バックエンドで広く使われている「分散トレーシング(Distributed Tracing)」の概要と、それをAndroidアプリでどのように活用できるかを解説します。また、pixivアプリが世界中の多様な環境のユーザーから愛用される中で、高品質を維持するために、アプリ内の処理とシステム処理の因果関係を明らかにし、パフォーマンスの問題を特定しやすくする手法や、モニタリングの工夫についても紹介します。 さらに、Firebase Performance や Systrace との違いを踏まえながら、OpenTelemetry を使ったトレーシングの設計・運用、モバイル向けにカスタマイズした SDK の実装例、そして実際の改善事例を交えて、「読み込みが遅い」の正体をつかむための技術と仕組みをわかりやすくお伝えします。 想定目次 - なぜ従来の手法ではパフォーマンスの原因を特定が難しいのか - 分散トレーシングとは? - Trace / Span / Context Propagation の基本概念 - OpenTelemetry とそのエコシステム - Firebase Performance, Systrace との比較 - Androidアプリ向け分散トレーシングの設計と導入 - 測定単位の粒度 - モバイル向け軽量SDKの設計と実装例 - データ収集とサンプリング - 可視化と運用 - Grafana等を用いた観測方法 - アラート設計のベストプラクティス - 課題解決フローと導入効果 - パフォーマンス問題解決フローの実例:観測→パフォーマンス指標の遅延→調査→改善→観測 - 考察と展望 - 導入前後での開発プロセスの変化 - 分散トレーシングの持つ将来的な可能性(AIと連携したモニタリングについてなど)

  • andousan Android Engineer @ pixiv.inc


概要

  • 日時 2025.09.12 / 12:20 ~ 13:00 (40min)
  • 場所 Jellyfish
  • 言語 日本語

対象者

■Androidエンジニア - Android アプリのObservabilityに興味がある方 - Android アプリのパフォーマンス改善全般に興味のある方 - Android アプリのパフォーマンス問題の原因特定が難しいと感じている方 - Firebase Performance Monitoring に限界を感じている方 ■プロダクトマネージャー・チームリーダー - アプリの現状のパフォーマンスを把握したい方 - アプリ品質を向上させたい方 ■QAエンジニア - アプリのSLO/SLA/SLIなどパフォーマンス指標のモニタリングに携わる方

Android is a trademark of Google LLC. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. Android、Google Play、Google Play ロゴは、Google Inc. の商標です。
これまでのDroidKaigi

© 2014- DroidKaigi Committee