Die richtige Profiling-Methode auswählen

Sie können Profile auf zwei Arten erfassen: manuell und über die ProfilingManager API.

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. Da ProfilingManager 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.