Vous pouvez collecter des profils de deux manières principales : manuellement ou à l'aide de l'API ProfilingManager
.
- La collecte manuelle de profils consiste à exécuter manuellement Perfetto sur votre appareil local pour enregistrer des profils. Vous pouvez le faire à l'aide de commandes, comme décrit dans Enregistrer des traces système avec Perfetto, ou à l'aide du bloc "Réglages rapides", comme expliqué dans Enregistrer avec le bloc "Réglages rapides".
ProfilingManager
permet aux applications de collecter des profils en production.
Nous vous recommandons d'utiliser ProfilingManager
pour collecter et analyser les données de nombreux utilisateurs ou pour déboguer des problèmes rares. Toutefois, pour les problèmes plus faciles à reproduire, le profilage manuel peut être un meilleur choix.
Le tableau suivant montre comment ces deux méthodes d'enregistrement des profils diffèrent :
ProfilingManager | Collecte manuelle des profils | |
---|---|---|
Contrôle de la durée du profil | Plus | Moins |
Source du profil | Appareil local et utilisateurs publics | Appareil local uniquement |
Sortie du profil | Masqué | Non masqué |
Profilage basé sur les événements | Oui | Non |
Personnalisation du profil | Moins | Plus |
Évolutivité | Élevée | Faible |
Les sections suivantes décrivent brièvement les différences entre les méthodes d'enregistrement de profils.
Contrôle de la durée du profil
L'API ProfilingManager
offre un meilleur contrôle sur le moment où une application démarre ou arrête un profil par rapport au profilage manuel, où l'initialisation du profil de timing peut être difficile. ProfilingManager
facilite également le profilage des comportements inattendus, car vous pouvez collecter un profil même si vous ne pouvez pas reproduire le comportement en local.
Source du profil
ProfilingManager
vous permet de collecter des données auprès des utilisateurs publics pour identifier et résoudre les problèmes de performances. En revanche, le profilage manuel ne vous permet de reproduire les problèmes que sur votre propre appareil.
Sortie du profil
ProfilingManager
et la collecte manuelle produisent différents types de résultats de profil :
ProfilingManager
génère des traces masquées. Les traces masquées affichent des informations sur le processus de votre application, mais masquent les données des autres applications du système. CommeProfilingManager
collecte et masque les traces avant de les renvoyer, vous pouvez collecter des traces auprès d'utilisateurs publics tout en protégeant leur confidentialité en n'affichant pas les données d'autres applications.La collecte manuelle de profils produit des traces non masquées. Lorsque vous enregistrez manuellement une trace système, le résultat peut inclure tous les processus en cours d'exécution sur le système. Bien que ces traces non masquées offrent des données plus complètes pour le débogage, vous ne pouvez y accéder que localement en raison de problèmes de confidentialité.
Profilage basé sur les événements
ProfilingManager
peut également collecter des profils lorsque des événements spécifiques se produisent, comme une erreur "L'application ne répond pas" (ANR) ou le démarrage de l'application. ProfilingManager
gérera le démarrage et l'arrêt des profils pour la collecte basée sur les événements.
Personnalisation du profil
Le profilage manuel offre le plus de personnalisation, tandis que ProfilingManager
propose moins d'options de personnalisation.
Évolutivité
ProfilingManager
est le meilleur moyen de mettre à l'échelle le traçage, car il s'agit de la seule option qui permet aux développeurs d'applications d'enregistrer des profils d'utilisateurs publics. Avec ProfilingManager
, vous pouvez configurer la collecte et l'analyse de traces à grande échelle.
Le profilage manuel est limité à l'utilisation locale.