Benutzerdefinierte Ereignisse definieren

Bei der Systemtrace werden Informationen zu Prozessen nur auf Systemebene angezeigt. Daher ist es manchmal schwierig zu wissen, welche Methoden Ihrer App oder Ihres Spiels zu einem bestimmten Zeitpunkt im Verhältnis zu Systemereignissen ausgeführt werden.

Jetpack bietet eine Tracing API, mit der Sie einen bestimmten Codeabschnitt kennzeichnen können. Diese Informationen werden dann in den auf dem Gerät erfassten Traces gemeldet. Macrobenchmark Mit Macrobenchmark werden Traces mit benutzerdefinierten Tracepunkten automatisch erfasst.

Wenn Sie mit Perfetto Systemtracings erfassen, muss Ihre Anwendung als profileable konfiguriert sein. So werden die benutzerdefinierten Traceereignisse Ihrer App im Systemtracebericht angezeigt.

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

Die Tracefunktion beendet die Trace automatisch, wenn die Lambda-Funktion abgeschlossen ist. So wird verhindert, dass Sie vergessen, die Trace zu beenden.

Sie können auch eine NDK API für benutzerdefinierte Traceereignisse verwenden. Informationen zur Verwendung dieser API für Ihren nativen Code finden Sie unter Benutzerdefinierte Traceereignisse in nativem Code.

Zusätzliche Ressourcen

Inhalte ansehen