カスタム イベントを定義する

システム トレースでは、システムレベルでのみプロセスに関する情報が表示されるため、アプリまたはゲームのどのメソッドが、ある時点でシステム イベントに対して実行されていたかを特定するのが困難な場合があります。

Jetpack には、コードの特定のセクションにラベルを付けるために使用できるトレース API が用意されています。この情報は、その後、デバイスでキャプチャされたトレースで報告されます。Macrobenchmark は、カスタム トレース ポイントを使用してトレースを自動的にキャプチャします。

Perfetto を使用してシステム トレースをキャプチャする場合は、アプリケーションが profileable として構成されていることを確認してください。これにより、アプリのカスタム トレース イベントがシステム トレース レポートに表示されます。

fun loadAndProcessData() {
    trace("loadAndProcessData") {
        val data = trace("queryDatabase") {
            queryDatabase()
        }
        trace("processData") {
            processData(data)
        }
    }
}

トレース関数 は、ラムダが完了するとトレースを自動的に終了します。これにより、トレースの終了を忘れるリスクがなくなります。

また、カスタム トレース イベントに NDK API を使用することもできます。ネイティブ コードでこの API を使用する方法については、ネイティブ コードのカスタム トレース イベント をご覧ください。

参考情報

Views コンテンツ