Xcode Organizerでパフォーマンス問題を診断する

https://developer.apple.com/videos/play/wwdc2020/10076/

概要

Xcode Organizerを使用することで2,3回クリックするだけの操作で、Appの複数のバージョンから集約されたパフォーマンスデータを分析することやAppメトリクスを簡単に比較、対比することが出来ます。
最新のXcode Organizerのインタフェースの説明及び、ディスクの書き込み診断やヒッチメトリクスをスクロールする方法について説明されている。
Appのユーザに対し、よりよいパフォーマンスを提供し、バッテリー消費量を減らし、デバイスの健康状態を改善するために、どのように使用するかが説明されている。

Xcode Organizerとは何か

  • アプリのバッテリー寿命の確認
  • パフォーマンスの集計
  • IOメトリクスの監視
Xcode Organizerは下記のようにXcodeから開くことが出来る
Xcode Organizerについて詳細に確認したい場合は下記のSessionを参考

Xcode Organizerの新しい機能

Scroll Metrics Hitch

  • メトリクスと診断の両方で今まで以上に多くのデータを提供する
  • Scrollメトリクスhitch(Scroll用のメトリクス)
    • アプリ内のスクロールをスムーズにするための補助ツール
    • スクロールヒッチとは、レンダリングされたフレームがスクロール中予期されたタイミングで画面に表示されないこと
    • 上記の状態を検知し、フレームが画面に表示されるのにかかる余分な時間を合わせて、スクロール時間で割り、アプリでスクロールしている合計時間を算出する -> ヒッチ率
  • ヒッチ率におけるユーザの体感
    • < 5 ms/s (ヒッチ率が1秒あたり5ミリ秒以下)スムーズ
    • 5-10 ms/s (ヒッチ率が1秒間につき5から10ミリ秒の間)引っかかる
    • > 10 ms/s (ヒッチ率が1秒あたり10ミリ秒以上)遅い
  • ヒッチについて詳細に知りたい場合は、Eliminate animation hitches with XCTestを参照

ディスク書き込み診断レポート

ディスク書き込み診断ログは書き込みが24時間の期間中に1GBを超えると集計される
アプリケーションが書き込む量を削減することにより、バッテリー寿命等のより良いパフォーマンスの向上となる

Xcode 12でのOrganizerの新しいUI

  • 過去のバージョンと比較してCameraやBluetooth, Networking, Display, 処理時間の使用量を把握出来る
    • グラフィカルにデータを表示するためには十分なデータ量が必要であったが、Xcode 12からは今までの5分の1のデータ量で確認可能
    • そのため、バージョン毎の問題を早期に検出することが出来る
  • stacktraceにより具体的なコードの問題箇所の発見が可能
  • Xcode Organizer内で問題におけるステータス(例えば、「解決済み」など)を設定出来、他のdeveloperが状態を把握出来る
最新情報をチェックしよう!