Vous pouvez collecter des profils à l'aide de deux méthodes principales : la collecte manuelle de profils
et 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 Quick Settings (Réglages rapides), comme expliqué dans Enregistrer avec le bloc "Réglages rapides".
ProfilingManagerpermet 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 les différences entre ces deux méthodes d'enregistrement des profils :
| ProfilingManager | Collecte manuelle de profils | |
|---|---|---|
| Contrôle du temps d'appui du profil | Plus | Moins |
| Source du profil | Appareil local et utilisateurs publics | Appareil local uniquement |
| Sortie du profil | Masqué | Non masqué |
| Profilage basé sur des é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 des profils.
Contrôle du temps d'appui du profil
L'API ProfilingManager offre plus de contrôle sur le moment où une application démarre ou
arrête un profil que le 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 localement.
Source du profil
Avec ProfilingManager, vous pouvez collecter des données auprès d'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 sorties de profil
:
ProfilingManagerproduit des traces masquées. Les traces masquées affichent des informations sur le processus de votre application, mais masquent les données d'autres applications sur le système. Étant donné queProfilingManagercollecte et masque les données 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, la sortie 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 pour des raisons de confidentialité.
Profilage basé sur des événements
ProfilingManager peut également collecter des profils lorsque des événements spécifiques se produisent, tels
qu'une erreur "Application ne répond pas" (ANR) ou le démarrage d'une application. ProfilingManager
gère le démarrage et l'arrêt des profils pour la collecte basée sur des é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 faire évoluer le traçage, car il s'agit de la seule option
qui permet aux développeurs d'applications d'enregistrer des profils auprès d'utilisateurs publics. Avec
ProfilingManager, vous pouvez configurer la collecte et l'analyse de traces à grande échelle.
Le profilage manuel est limité à une utilisation locale.