Choisir la bonne méthode de profilage

Vous pouvez collecter des profils de deux manières principales : manuellement ou à l'aide de l'API ProfilingManager.

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