ストリーミングはほとんどのブラウザと
Developerアプリで視聴できます。
-
Xcode Organizerでパフォーマンス問題を診断する
2、3回クリックするだけの操作で、Appの複数のバージョンから集約されたパワーやパフォーマンスデータを分析しましょう。 最新のXcode Organizer、そのインタラクティブインターフェースをご紹介します。複数のリリースを経たAppメトリクスを簡単に比較、対比することが可能になります。ディスクの書き込み診断やヒッチメトリクスをスクロールする方法もご説明します。Appのユーザーに対し、よりよいパフォーマンスを提供し、バッテリーの消費量を減らし、デバイスの健康状態を改善するために、これらをどのように使用できるかをお伝えします。 Xcode Organizerについてより詳細を知りたい方、Appのパワーやパフォーマンスを改善したい方は、WWDC19の"Improving Battery Life and Performance" をご覧ください。ヒッチに関する詳細は、“Eliminate animation hitches with XCTest”をご覧ください。
リソース
関連ビデオ
WWDC22
WWDC21
WWDC20
-
ダウンロード
こんにちは WWDCへようこそ “Xcode Organizerで パフォーマンス問題を診断する” 私はシェファリです Appleの パフォーマンスツールエンジニアです 今日のトークは Xcode Organizerについてです
アプリケーションはソフトウェア体験の バックボーンです これまで以上に協力して 働くことが重要になっています バッテリの寿命と性能を向上させて ユーザの皆さんがデバイスを 最大限利用できるためです よりよいアプリケーションを開発するため 日々戦っていることと思います 何ができてどのエリアの優先度が 高いのか私たちに問いかけながら
アプリケーションがユーザのデバイスで 適切に機能しているか確認できるよう 実用的なツールやデータを提供することに 私たちは専念しています アプリケーションのどのエリアに フォーカスすべきか すぐに決められるように Xcode Organizer Windowを使用すると アプリケーションのバッテリ パフォーマンスの集計やIOメトリクスを 監視できます 今日お伝えするのは 今年追加された新しい機能です まずはXcode Organizerの 簡単な概略からです そしてXcode 11ではどう見えるか お見せします それから今年の新機能に突入です 新メトリクスカテゴリや 診断レポートを含みます そして新しいUIも
最後にこれら新機能すべてを まとめたデモで このパワフルなツールをどう使うかを ご説明します バッテリ寿命や パフォーマンスへのアプリケーションの影響を リリースごとに追跡する方法です そして次のステップで話をまとめます
それではOrganizerの概略を 話しましょう
Xcode Organizerとは何か? そして アプリケーションのデータを見るために どうすればいいか? 名前から分かるように Xcode Organizer Windowは 直接Xcodeに組み込まれています つまり操作は簡単 メニューバーをナビゲートし 「Window」に移動 「Organizer」をクリックして開始します Organizerの素晴らしいところは あなたのアプリケーションを変える必要が 全くないということです ユーザがアプリケーションを使うと バッテリ寿命や パフォーマンスデータ情報を 同意されたデバイスから収集できます このデータは私たちのサーバーで 集計され Organizerを通じて 送り返されます
Xcode Organizerについてもっと知るために ご視聴を勧めるのは― 2018年の 「What's New in Energy Debugging」トーク そして2019年の「Improving Battery Life and Performance」トークです 去年私たちはOrganizerを通して 様々なアプリケーション使用量メトリック に関するデータを提供しました その後 素晴らしいことにメトリックや 診断レポートを使って皆さんが アプリケーションのパフォーマンス監視や 大きなバグ修正をされるのを見ました
それでは今年Organizerに追加した 新しいデータを見てみましょう
今年はメトリックと診断両方で より多くのデータを提供します (スクロールヒッチ) スクロール用メトリックに新カテゴリを 追加しました 私たちは「ヒッチ」と呼んでいます 詳しい説明に入る前に 同僚と取り組んできた Meal Planner アプリケーションを使い ヒッチを体感してみましょう
このスクロールは遅く 途切れがちで そして不安定です これは同じアプリケーションですが ヒッチがありません この二つには かなりの違いがありますね スクロールヒッチメトリックを使って スクロールをこのように スムーズにするのが目標です
ではスクロールヒッチとは何でしょうか? スクロールヒッチは レンダリングされたフレームが スクロール中 予期されたタイミングで 画面に表示されないことです その場合フレームはドロップされ 不安定なスクロールと 認識されます
Organizerの スクロールセクションのために 私たちはヒッチ時間を取りました フレームが画面に表示されるのにかかる 余分な時間の合計です それをスクロール時間で割ると そのアプリケーションでスクロールしている 合計時間が出ます
それがヒッチ率です アプリケーションのパフォーマンスを 測定するのに重要なメトリックです これでヒッチ重症度の推定値が 割り出され ユーザがどう感じているか分かります ヒッチ率の解釈方法は 3つに分けられます 最初はヒッチ率が 1秒あたり5ミリ秒以下 ドロップされたフレームどうしの間に かなり大きな時間があります ユーザはスムーズなスクロールだと 感じてくれるでしょう 先ほどMeal Planner アプリケーションで見た ものと同じですね 1秒間につき5から10ミリ秒間 の場合 フレームは 数秒ごとにドロップします ヒッチ率が1秒あたり 10ミリ秒以上のとき ユーザはフレームがかなり頻繁に ドロップすると感じます ひどいスクロール体験だと感じるでしょう
ヒッチについて更に知りたい方に お勧めするのは 「Eliminate Animation Hitches with XCTests」トークです 今年ご用意しました
今年追加したもう一つの 新しいデータは ディスク書き込み診断レポートです
去年このカテゴリには メトリックを提供しました 今年はより多くの コンテクストで アプリケーションが出会う問題に ピンポイントで迫ります
ディスク書き込み診断ログは 書き込みが24時間の期間中に 1GBを超えると集計されます
アプリケーションが書き込む量を 削減することで より良いパフォーマンスが保証されます より長いバッテリ寿命や 相対的に良好なデバイス状態です レポートの 例を見てみましょう
Organizerの左のペインで 「Report」セクションの 「Disk Writes」をクリックすると このように見えます これについてはデモの時に もっと詳しく説明します
ここまで素晴らしい新データを見てきました それに加えXcode 12では インターフェースを完全に刷新しました 見ていただくのが待ちきれません 新しいインタラクティブ UIでは 1回のクリックで アプリケーションの異なるバージョンの メトリックを比較して対比できます Organizerに移動し これら新しい機能全てを じっくり見てみましょう
私がMeal Plannerと呼ばれるアプリケーションの ディベロッパだとします ユーザは1週間の食事をプランでき 全ての写真とレシピを 一か所に保存できます
Xcode 12で Organizerを開けると 2つのリリースを 横に並べて比較できます 新しいインタラクティブUIのおかげです 任意のバージョンの アプリケーションをクリックすると
右側にUIアップデートが表示され 最新版と選択したバージョンとの違いが 反映されます さらに詳しいブレークダウンもあります アプリケーションのバッテリ使用量に関係する サブカテゴリです ここで見ることができるのは 最新版では CameraとBluetooth使用量が 増加しています すぐに調査を開始できます またいつでも古いバージョンを 選択することができます これはとても便利です なぜなら新しい可能性は バージョンを比較することによって いくつも花開くからです 見ているデータを 自分でコントロールできます ディベロッパにとってアプリケーションの 使用量が見えることは重要です Organizerでそれを見るために何日も 何週間もかかってしまったらどうでしょう?
これはとても重要なことですが 去年私たちは Xcode Organizerに ヒストグラムを表示するさいに アプリケーションの各バージョンに ユーザデバイスからの 一定の使用量を想定した しきい値を設定しました こうしたデータを 今年は更に短期間で表示できます アプリケーションのパフォーマンスを 早期に確認できます Xcode 12では 必要な使用量のしきい値を 5分の1に変えました つまり現在アプリケーションのデータを 見ることができるとしたら 更に早くそのデータが見られるという事です もしアプリケーションの使用量が 古い しきい値以下で 新しい しきい値以上だった場合 初めて データが表示されます より多くのアプリケーションディベロッパが 現在 Organizerを使用して アプリケーションのバッテリ寿命や パフォーマンスへの影響を 監視していることを大変嬉しく思います このバッテリ使用量グラフを見ると バージョン1.0.1 のX軸に アイコンが見られます
このアイコンはバージョンの 使用量が少ない事を意味します このアイコンに関連付けられた 追加情報として バージョンの誤差範囲があります 右側のこの場所に見られます これが重要なのは 使用量の小さなバージョンでは 分析するデータポイントが少ないためです
小さなワーキングセットのデータは より多くの人がアプリケーションを アップデートし新バージョンを使うほど安定します 使用量が増えると 誤差範囲は減少し 十分な使用量になると UIから省略されるまで 減少します それではワークフローの一部としての 新しいレポートの使い方を見てみましょう 左手のディスク書き込みメトリック をクリックします
ディスクの書き込みに突然の増加が あったことが分かります バージョン 2.2 です Meal Plannerでこの問題を トリアージする方法を見てみましょう ディスク書き込みのここに スパイクを見つけました 左側の「レポート」に移動し
「Disk Writes」をクリックします
2~3件の問題が あったようですね 先ほど見た増加の原因になっています 一番上の問題は 新機能に関係しているようです ユーザがカスタム写真や レシピを追加できるように バージョン 2.2 に加えた機能です スタックトレースが具体的に 問題のシグネチャを教えてくれるので そのコード部分に移動し 調査を開始できます
シグネチャの下では 特定のシグネチャが原因の ディスク書き込みパーセンテージも 見ることができます
特定のシグネチャについては 右側の「レポート」セクションで ブレークダウンを見ます デバイスタイプと オペレーティングシステムに分かれています
円グラフの下の棒グラフでは いくつのレポートが 過去14日の間にアプリケーションについて 送られたかが分かります エネルギーレポート同様に シグネチャごとのスタックトレースの サンプルも提供します そしてスタックトレースについての 追加情報も右側の「詳細」で表示されます
これらの情報をすべて使って アプリケーションに修正ができるため アプリケーションは多くの書き込みをしません ここでは シグネチャを解決済みとしてマークします そうすれば同僚たちは Organizerがキャッチした その他の問題に取り掛かれるからです ユーザがこの修正を含むバージョンを 使用すると メトリックに戻ります そしてデータが以前の状態に 戻っていることを確認します
新しいインタラクティブOrganizerでは 更に多くのデータを表示できます あなたがこれらの新機能を 使用して アプリケーション内で優れた最適化を 実行するのが楽しみです Organizerを使用したディベロッパの方々 新しいインタラクティブUIを使って 2つのアプリケーションバージョンの メトリックを比較することをお勧めします あなたのアプリケーションの スクロールパフォーマンスを ヒッチメトリックで確認してください
さらにディスク書き込みについて ディスク書き込みレポートや ディスク書き込みメトリックを使用して 深く調査してください バッテリ寿命やパフォーマンス面で アプリケーションを最適化するために Xcode Organizerを 引き続きご利用ください
このプレゼンのご視聴 ありがとうございました 残りもお楽しみください
-
-
特定のトピックをお探しの場合は、上にトピックを入力すると、関連するトピックにすばやく移動できます。
クエリの送信中にエラーが発生しました。インターネット接続を確認して、もう一度お試しください。