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
Recruit
PRO
September 15, 2023
Business
2
2k
パフォーマンス監視 ツールの活用
2023/09/15に、droidkaigi.jp2023で発表した、清水の資料です。
Recruit
PRO
September 15, 2023
Tweet
Share
More Decks by Recruit
See All by Recruit
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
470
プロデザ! BY リクルート vol.18_リクルートのリサーチ実践組織「リサーチブーストコミュニティ」
recruitengineers
PRO
3
300
スマートフォン版サロンボードの 機能改善の土台づくり
recruitengineers
PRO
2
63
事業状況の大きな変化を乗り越えるためのAirレジ オーダーのアジャイル開発
recruitengineers
PRO
1
69
横断組織から見たリクルートのインフラの歴史と目指すべきクラウド活用像
recruitengineers
PRO
1
35
Datadog による 自己完結的アプリケーションモニタリング
recruitengineers
PRO
4
270
プロデザ! BY リクルートvol.17_『じゃらんnet』公式アプリの高速リニューアル事例を大公開
recruitengineers
PRO
6
200
自己完結な開発者組織を支える プラットフォーム作り
recruitengineers
PRO
3
320
検索エンジニアが考える、 生成AI時代の人間の付加価値とは
recruitengineers
PRO
3
160
Other Decks in Business
See All in Business
「プロジェクト」と「組織」
r3sjp
0
190
会社説明について~株式会社リハス~
re9010matsubara
0
240
ジンジニアのキャリア ~てぃーびーの場合~ / Tb's career
tbpgr
0
490
CHILLNN Culture Deck 2024
ryo_nagata_
0
130
akippa株式会社 - 会社紹介資料
akippa
3
45k
KADOKAWA Connected|会社紹介資料/Corporate Introduction
kadokawaconnected
4
50k
We are Wunderbar, Culture Deck Min
wunderbar
0
18k
Zeit für Klarheit
arnekittler
0
160
株式会社10X - Culture Deck
10xinc
84
1.3M
【新卒採用】BuySell Technologies会社紹介資料
buyselltechnologies
0
150k
newmo 採用資料 / Join Our Team
newmo
1
3.7k
社労士法人ホームラン 会社説明資料
hrhomerun
0
200
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.4k
Why Our Code Smells
bkeepers
PRO
331
56k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.8k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
1.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
GraphQLの誤解/rethinking-graphql
sonatard
56
9.3k
GraphQLとの向き合い方2022年版
quramy
33
12k
Building Your Own Lightsaber
phodgson
100
5.7k
Transcript
•マスター テキストの書式設定 第 2 レベル 第 3 レベル 第 4
レベル 第 5 レベル マスタ タイトルの書式設定 1 パフォーマンス監視 ツールの活用 Firebase Performance MonitoringとMacrobenchmarkを駆使して Jetpack Compose導入するまで 株式会社リクルート プロダクト統括本部 ビューティープロダクト開発 2グループ 清水大夢
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 2 2 自己紹介 - 名前 - Taimu Shimizu(X: @shimizuTaimu) - 所属 - 『ホットペッパービューティー』Androidアプリ開発チーム - 経歴 - 2020/10 ~ 2022/3 - ConTechベンチャーにてRailsエンジニア - 2022/4 ~ - 『ホットペッパービューティー』のAndroidエンジニア
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 3 3 本セッションの狙い パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 4 4 本セッションの狙い パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 5 5 本セッションの狙い パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 6 6 本セッションの狙い パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 7 7 目次 - パフォーマンス計測が必要になった背景 - パフォーマンス監視ツールの紹介 - 実際に取得した指標 - 取得した指標を元にした今後の動き - まとめ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 8 8 目次 - パフォーマンス計測が必要になった背景 - パフォーマンス監視ツールの紹介 - 実際に取得した指標 - 取得した指標を元にした今後の動き - まとめ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 9 9 パフォーマンス計測が必要になった背景 Jetpack Composeの導入 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 10 10 パフォーマンス計測が必要になった背景 Jetpack Composeの導入 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 11 11 パフォーマンス計測が必要になった背景 Jetpack Composeの導入 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合 - 開発工数 - パフォーマンス影響
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 12 12 パフォーマンス計測が必要になった背景 Jetpack Composeの導入 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合 - 開発工数 - パフォーマンス影響 パフォーマンス監視ツール
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 13 13 パフォーマンス計測が必要になった背景 Jetpack Composeの導入 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合 - 開発工数 - パフォーマンス影響 パフォーマンス監視ツール
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 14 14 パフォーマンス計測が必要になった背景 Jetpack Composeの導入 - Viewの複雑度削減 - 生産性の向上 - Jetpackライブラリと の統合 - 開発工数 - パフォーマンス影響 パフォーマンス監視ツール
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 15 15 目次 - パフォーマンス計測が必要になった背景 - パフォーマンス監視ツールの紹介 - 実際に取得した指標 - 取得した指標を元にした今後の動き - まとめ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 16 16 パフォーマンス監視ツールの紹介 今回紹介するパフォーマンス監視ツール - Firebase Performance Monitoring - Macrobenchmark - Microbenchmark
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 17 17 Firebase Performance Monitoring パフォーマンス監視ツールの紹介
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 18 18 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring Firebase Performance Monitoringとは? - アプリのパフォーマンスを自動収集 - 属性別に指標を収集 - アラートの設定が可能
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 19 19 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring - ネットワークリクエスト
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 20 20 - アプリのライフサイクルに関連するトレース パフォーマンス監視ツールの紹介: Firebase Performance Monitoring
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 21 21 - 画面のレンダリング パフォーマンス監視ツールの紹介: Firebase Performance Monitoring
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 22 22 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring Firebase Performance Monitoringの導入(1/2) ①モジュール(アプリレベル)のGradleファイルに依存関係 を追加する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 23 23 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring Firebase Performance Monitoringの導入(2/2) ②ルートレベル(プロジェクトレベル)のGradleファイルに プラグインを追加する。 ③モジュール(アプリレベル)のGradleファイルにプラグイ ンを追加する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 24 24 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring カスタムトレース(1/2) - 自動で集められる指標に追加して、特定のコードの実行 速度を計測することができる。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 25 25 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring カスタムトレース(2/2) - @AddTraceアノテーションを使用すると、メソッドの開始 から終了までの時間を指標として取得できる。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 26 26 パフォーマンス監視ツールの紹介: Firebase Performance Monitoring Firebase Performance Monitoringまとめ - 簡単に導入可能 - 自動収集、手動収集どちらも可能 - アラートの設定可能 - カスタムトレース追加時はプロダクションコードに触れ る
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 27 27 Macrobenchmark パフォーマンス監視ツールの紹介
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 28 28 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkとは? - JUnit構文を用いたインストゥルメンテーションテスト - アプリの起動時間や、スクロール時間などのパフォーマ ンスを測定できる。 - テスト結果はコンソールで確認できると共にJSONファイ ルとして出力できる。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 29 29 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkの導入(1/4) ①AndroidStudioの [Project]パネルでプロ ジェクトを右クリック して、モジュールを追 加する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 30 30 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkの導入(2/4) モジュールウィザードにより、ビルドタイプ[benchmark] が、アプリレベルのGradleファイルに追加される。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 31 31 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkの導入(3/4) モジュールウィザードによ り、 ExampleStartupBenchmark.k tが追加される。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 32 32 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkの導入(4/4) ②AndroidManifest.xmlにprofileableタグを追加する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 33 33 パフォーマンス監視ツールの紹介: Macrobenchmark 起動時間の測定(1/3) 指定パラメータは - packageName - metrics - iterations - startupMode - measureBlock pressHome() - ベンチマークを基本状態にリセットする。 startActivityAndWait() - デフォルトのアクティビティを開始し、最初の フレームをレンダリングするまで待つ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 34 34 パフォーマンス監視ツールの紹介: Macrobenchmark 起動時間の測定(2/3) ①Build Variantをbenchmarkに ②AndroidStudioから実行
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 35 35 パフォーマンス監視ツールの紹介: Macrobenchmark 起動時間の測定(3/3) - 実行結果の「最小値」「中央値」「最大値」が出力される。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 36 36 パフォーマンス監視ツールの紹介: Macrobenchmark スクロール時間の測定(1/2) setupBlock - 測定しない準備部分を設定。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 37 37 パフォーマンス監視ツールの紹介: Macrobenchmark スクロール時間の測定(1/2) setGestureMargin(device.displayWidth / 5) - アプリがシステムナビゲーションをトリガーして、スクロールしないで終了するのを防ぐた めに追加する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 38 38 パフォーマンス監視ツールの紹介: Macrobenchmark スクロール時間の測定(2/2) frameDurationCpuMs - フレームの生成にかかった時間 fameOverrunMs - フレームがどれだけの期間、期限を超過したか
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 39 39 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkまとめ - ユーザーに近い状態で測定できる - プロダクションコードへの影響がない - CI連携可能 - 自動収集は不可能
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 40 40 Microbenchmark パフォーマンス監視ツールの紹介
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 41 41 パフォーマンス監視ツールの紹介: Microbenchmark Microbenchmarkとは? - JUnit構文を用いたユニットテスト - コードの実行時間やメモリ割り当て数などのパフォーマ ンスを測定できる。 - テスト結果はコンソールで確認できると共にJSONファイ ルとして出力できる。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 42 42 パフォーマンス監視ツールの紹介: Microbenchmark Microbenchmarkの導入(1/3) ①AndroidStudioの [Project]パネルでプロ ジェクトを右クリック して、モジュールを追 加する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 43 43 パフォーマンス監視ツールの紹介: Microbenchmark Microbenchmarkの導入(2/3) モジュールウィザードにより、ExampleStartupBenchmark.kt が追加される。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 44 44 パフォーマンス監視ツールの紹介: Microbenchmark Microbenchmarkの導入(3/3) ②新しく追加されたモジュールのGradleファイルに、ベンチ マーク対象のコードを含むモジュールを依存関係として指定 する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 45 45 パフォーマンス監視ツールの紹介: Microbenchmark runWithTimingDisabled - 測定対象外のセットアップコードを記述する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 46 46 パフォーマンス監視ツールの紹介: Microbenchmark Microbenchmarkの実行結果 - ナノ秒単位で結果が出力される。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 47 47 パフォーマンス監視ツールの紹介: Macrobenchmark Macrobenchmarkまとめ - コードレベルの実行時間を測定できる - プロダクションコードへの影響がない - CI連携可能 - 自動収集は不可能
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 48 48 パフォーマンス監視ツールの紹介: Macrobenchmark 紹介しなかったパフォーマンス監視ツール - Profiler - Perfetto
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 49 49 パフォーマンス監視ツールまとめ パフォーマンス監視ツールの紹介
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 50 50 パフォーマンス監視ツールの紹介 - 今回のJetpackCompose導入においては、案件起案用の指標収集のために、 Firebase Performance MonitoringとMacrobenchmarkを使用することにした。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 51 51 目次 - パフォーマンス計測が必要になった背景 - パフォーマンス監視ツールの紹介 - 実際に取得した指標 - 取得した指標を元にした今後の動き - まとめ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 52 52 Firebase Performance Monitoring 実際に取得した指標
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 53 53 実際に取得した指標: Firebase Performance Monitoring 計測対象画面 - Composeで置き換えしたActivity - 一部をComposeViewで置き換えたFragment 計測対象指標 - 置き換え対象Activityのレンダリング時間 - Compose置き換え前後でのActivityのonCreate、Fragment のonCreateViewの実行時間
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 54 54 実際に取得した指標: Firebase Performance Monitoring 計測対象画面 - Composeで置き換えしたActivity - 一部をComposeViewで置き換えたFragment 計測対象指標 - 置き換え対象Activityのレンダリング時間 - Compose置き換え前後でのActivityのonCreate、Fragment のonCreateViewの実行時間
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 55 55 実際に取得した指標: Firebase Performance Monitoring 置き換え対象Activityのレンダリング時間測定(1/2)
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 56 56 実際に取得した指標: Firebase Performance Monitoring 置き換え対象Activityのレンダリング時間測定(2/2)
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 57 57 実際に取得した指標: Firebase Performance Monitoring 計測対象画面 - Composeで置き換えしたActivity - 一部をComposeViewで置き換えたFragment 計測対象指標 - 置き換え対象Activityのレンダリング時間 - Compose置き換え前後でのActivityのonCreate、Fragment のonCreateViewの実行時間
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 58 58 実際に取得した指標: Firebase Performance Monitoring onCreate, onCreateViewの実行時間測定 - @AddTraceアノテーションを使用
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 59 59 実際に取得した指標: Firebase Performance Monitoring onCreateの実行時間
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 60 60 実際に取得した指標: Firebase Performance Monitoring onCreateViewの実行時間
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 61 61 Macrobenchmark 実際に取得した指標
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 62 62 実際に取得した指標: Macrobenchmark 計測対象画面 - Composeで置き換えしたActivity 計測対象指標 - (Compose置き換え前)RecyclerView使用時のスクロール速度 - (Compose置き換え後)LazyColumn使用時のスクロール速度 備考 - エミュレーターを使用した。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 63 63 実際に取得した指標: Macrobenchmark RecyclerViewでの指標測定コード
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 64 64 実際に取得した指標: Macrobenchmark RecyclerViewでの指標測定コード
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 65 65 実際に取得した指標: Macrobenchmark RecyclerViewでの指標測定コード
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 66 66 実際に取得した指標: Macrobenchmark LazyColumnでの指標測定コード
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 67 67 実際に取得した指標: Macrobenchmark LazyColumnでの指標測定コード
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 68 68 実際に取得した指標: Macrobenchmark LazyColumnでの指標測定コード semanticsを追加しないとtestTag認識されなかった。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 69 69 実際に取得した指標: Macrobenchmark RecyclerViewの測定結果 LazyColumnの測定結果
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 70 70 実際に取得した指標: Macrobenchmark
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 71 71 実際に取得した指標: Macrobenchmark Compose置き換えによってパフォーマンスが悪化した
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 72 72 実際に取得した指標: Macrobenchmark パフォーマンス悪化の原因を調べていると・・ 参照:https://android-developers-jp.googleblog.com/2022/03/improving-app-performance-with-baseline.html
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 73 73 実際に取得した指標: Macrobenchmark ベースラインプロファイルとは - APKに含まれるクラスとメソッドのリスト - Macrobenchmarkを使用して、作成することが可能 - クラウドプロファイルと違い、リリース後すぐに適用さ れる
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 74 74 実際に取得した指標: Macrobenchmark ベースラインプロファイルの作成準備(1/3) モジュール(アプリレベル)のGradleファイルに profileinstallerライブラリを追加
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 75 75 実際に取得した指標: Macrobenchmark ベースラインプロファイルの作成準備(2/3) appモジュール内に benchmarkrules.pro を作成
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 76 76 実際に取得した指標: Macrobenchmark ベースラインプロファイルの作成準備(3/3) buildType benchmarkでproguardFilesに benchmark-rules.proを指定
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 77 77 実際に取得した指標: Macrobenchmark ベースラインプロファイルの作成(1/3)
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 78 78 実際に取得した指標: Macrobenchmark ベースラインプロファイルの作成(2/3)
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 79 79 実際に取得した指標: Macrobenchmark ベースラインプロファイルの作成(3/3) 「baseline-prof.txt」にrename app/src/main配下に保存する。
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 80 80 実際に取得した指標: Macrobenchmark ベースラインプロファイル作成後のRecyclerViewの測定結果 ベースラインプロファイル作成後のLazyColumnの測定結果
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 81 81 実際に取得した指標: Macrobenchmark
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 82 82 目次 - パフォーマンス計測が必要になった背景 - パフォーマンス監視ツールの紹介 - 実際に取得した指標 - 取得した指標を元にした今後の動き - まとめ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 83 83 取得した指標を元にした今後の動き 以下指標をまとめ案件検討に持ち込み工数を獲得する。 - 今回取得したパフォーマンス指標 - 置き換えによる見込みコード削減量 - 置き換えの開発工数
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 84 84 取得した指標を元にした今後の動き Compose置き換えにおけるパフォーマンス監視体制を敷く。 ①基本的にはFirebase Performance Monitoringでのアラー ト設定での監視 ②アラートに引っかかった画面や、使用頻度の多い重要画面 に関してはベースラインプロファイルを更新する
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 85 85 目次 - パフォーマンス計測が必要になった背景 - パフォーマンス監視ツールの紹介 - 実際に取得した指標 - 取得した指標を元にした今後の動き - まとめ
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 86 86 まとめ パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 87 87 まとめ パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 88 88 まとめ パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 89 89 まとめ パフォーマンス監視ツールの紹介 実際の現場への導入 データ駆動の意識
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 90 90 宣伝
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 91 91 参考文献 - https://firebase.google.com/docs/perf-mon?hl=ja - https://developer.android.com/topic/performance/benchmarking/macrobenchmar k-overview?hl=ja - https://developer.android.com/codelabs/android-macrobenchmark-inspect?hl=j a#0 - https://developer.android.com/topic/performance/benchmarking/microbenchmar k-overview?hl=ja - https://android-developers-jp.googleblog.com/2022/03/improving-app-perform ance-with-baseline.html - https://developer.android.com/studio/profile/baselineprofiles?hl=ja
マスタ タイトルの書式設定 •マスター テキストの書式設定 第 2 レベル 第 3 レベル
第 4 レベル 第 5 レベル 92 92 ご清聴ありがとうございました。