Sie können Profile auf zwei Arten erfassen: manuell und über die ProfilingManager
API.
- Bei der manuellen Profilerstellung wird Perfetto manuell auf Ihrem lokalen Gerät ausgeführt, um Profile aufzuzeichnen. Sie können dies mit Befehlen tun, wie unter System-Traces mit Perfetto aufzeichnen beschrieben, oder mit der Kachel für die Schnelleinstellungen, wie unter Mit der Kachel für die Schnelleinstellungen aufzeichnen beschrieben.
- Mit
ProfilingManager
können Apps Profile in der Produktion erfassen.
Wir empfehlen die Verwendung von ProfilingManager
zum Erheben und Analysieren von Daten vieler Nutzer oder zum Debuggen seltener Probleme. Bei Problemen, die sich leichter reproduzieren lassen, ist die manuelle Profilerstellung jedoch möglicherweise die bessere Wahl.
In der folgenden Tabelle sehen Sie, wie sich die beiden Methoden zum Aufzeichnen von Profilen unterscheiden:
ProfilingManager | Manuelle Profilerhebung | |
---|---|---|
Steuerung des Profil-Timings | Mehr | Weniger |
Profilquelle | Lokales Gerät und öffentliche Nutzer | Nur lokales Gerät |
Profilausgabe | Entfernt | Nicht geschwärzt |
Ereignisbasierte Profilerstellung | Ja | Nein |
Anpassbarkeit des Profils | Weniger | Mehr |
Skalierbarkeit | Hoch | Geringe Anzahl |
In den folgenden Abschnitten werden die Unterschiede zwischen den Methoden zur Profilaufzeichnung kurz beschrieben.
Steuerung des Profil-Timings
Die ProfilingManager
API bietet mehr Kontrolle darüber, wann ein Profil von einer App gestartet oder beendet wird, als bei der manuellen Profilerstellung, bei der die Initialisierung des Timing-Profils schwierig sein kann. ProfilingManager
erleichtert auch das Profiling von unerwartetem Verhalten, da Sie ein Profil erstellen können, auch wenn Sie das Verhalten nicht lokal reproduzieren können.
Profilquelle
Mit ProfilingManager
können Sie Daten von öffentlichen Nutzern erfassen, um Leistungsprobleme zu finden und zu beheben. Beim manuellen Profiling können Sie Probleme dagegen nur auf Ihrem eigenen Gerät reproduzieren.
Profilausgabe
Bei ProfilingManager
und der manuellen Erfassung werden unterschiedliche Arten von Profilausgaben generiert:
ProfilingManager
erstellt anonymisierte Traces. In anonymisierten Traces werden Informationen zum Prozess Ihrer App angezeigt, Daten aus anderen Apps auf dem System werden jedoch ausgeblendet. DaProfilingManager
Daten erhebt und entfernt, bevor sie zurückgegeben werden, können Sie Traces von öffentlichen Nutzern erfassen, ohne die Privatsphäre anderer Nutzer zu verletzen, da keine Daten aus anderen Apps angezeigt werden.Bei der manuellen Profilerstellung werden nicht geschwärzte Traces erzeugt. Wenn Sie einen System-Trace manuell aufzeichnen, kann die Ausgabe alle Prozesse enthalten, die auf dem System ausgeführt werden. Diese nicht geschwärzten Traces bieten zwar vollständigere Daten für das Debugging, aber aus Datenschutzgründen können Sie nur lokal darauf zugreifen.
Ereignisbasierte Profilerstellung
ProfilingManager
kann auch Profile erfassen, wenn bestimmte Ereignisse eintreten, z. B. ein „App antwortet nicht“-Fehler (ANR) oder ein App-Start. ProfilingManager
übernimmt das Starten und Beenden von Profilen für die ereignisbasierte Erfassung.
Anpassbarkeit des Profils
Die manuelle Profilerstellung bietet die meisten Anpassungsmöglichkeiten, während ProfilingManager
weniger Anpassungsoptionen bietet.
Skalierbarkeit
ProfilingManager
ist die beste Möglichkeit, das Tracing zu skalieren, da App-Entwickler damit Profile von öffentlichen Nutzern aufzeichnen können. Mit ProfilingManager
können Sie die Erfassung und Analyse von Traces im großen Maßstab einrichten.
Die manuelle Profilerstellung ist auf die lokale Verwendung beschränkt.