Datadog fournit des millions d'insights détaillés sur les performances avec ProfilingManager
Temps de lecture : 4 min
Les régressions de performances sont notoirement difficiles à reproduire, ce qui en fait un énorme goulot d'étranglement pour les développeurs mobiles. Bien que des signaux tels que les taux d'ANR indiquent quels problèmes se produisent en production, l'identification de la ligne de code spécifique à l'origine du problème de performances a toujours nécessité une reproduction manuelle exhaustive ou des tests spéculatifs par essais et erreurs.
Datadog a collaboré avec Google pour atténuer ce problème en intégrant l'API ProfilingManager (disponible sur les appareils Android 15 et versions ultérieures) à ses plates-formes Real User Monitoring (RUM) et Continuous Profiling. Cette intégration transforme le workflow de débogage, permettant aux développeurs d'aller au-delà des symptômes superficiels et de détecter le pourquoi d'un goulot d'étranglement des performances.
Grâce à cette API au niveau du système, Datadog traite désormais des millions de profils de production par semaine dans le monde entier, selon les données internes de Datadog de juin 2026. Il offre aux équipes d'ingénierie un nouveau niveau de visibilité sur les performances réelles, tout en maintenant une faible surcharge d'exécution pour la surveillance des performances à l'échelle de la production.
Impact de ProfilingManager
ProfilingManager est un service système introduit dans Android 15 qui permet aux applications de collecter de manière programmatique des données sur les performances telles que des exemples de pile d'appels, des traces de champ et des vidages de segment de mémoire directement à partir des environnements de production. Cette capacité transforme le paradigme d'ingénierie, qui passe d'une reproduction manuelle réactive à une analyse proactive sur le terrain.
Par exemple, une application de communication Google a utilisé des traces de champs pour déterminer pourquoi ses temps de démarrage à froid étaient plus lents sur du matériel plus récent et plus puissant. En examinant les traces collectées sur le terrain et en les comparant sur différents types d'appareils, l'ingénieur a découvert un problème de planification caché : un service de synthèse vocale en arrière-plan était préchauffé inutilement au démarrage de l'application. Les traces ont révélé que ce processus en arrière-plan monopolisait le cœur de processeur Big le plus performant de l'appareil, ce qui forçait le thread principal de l'application à se mettre en veille pendant le préchauffage.
Résoudre le problème de visibilité au niveau du code Android
Avant l'implémentation de ProfilingManager, la solution Real User Monitoring (RUM) de Datadog se concentrait sur l'état général de l'application et sur la télémétrie au niveau de la session pour évaluer le parcours utilisateur. Les équipes d'ingénierie peuvent surveiller les signaux de performances Android tels que le délai d'affichage initial, les taux ANR, la charge du processeur et les frames figés. Ces insights s'étendaient aux interactions granulaires, telles que la latence du réseau, les événements tactiles et les blocages du thread principal. Toutefois, si ces données ont permis de mettre en évidence les goulots d'étranglement des performances sur le terrain, elles n'ont pas permis d'identifier clairement la cause première de ces échecs.
Pour résoudre ce problème, Datadog avait besoin d'un moteur de profilage capable de capturer les traces Android directement à partir des appareils en production avec un impact minimal sur les performances. Après avoir évalué d'autres approches, comme l'écriture de leur propre processeur de trace à l'aide des API de débogage Android, l'équipe a sélectionné ProfilingManager, car il s'agit de la solution la plus performante parmi les options de profilage qu'elle a évaluées et qui décharge la surcharge des décisions d'échantillonnage sur l'OS.
ProfilingManager est compatible avec un large éventail de méthodes de collecte, y compris les traces de processeur, l'échantillonnage de la pile d'appels, l'analyse de la mémoire via les vidages du tas Java et les profils du tas natif. Il permet aux développeurs de profiler les versions de production, d'importer des fichiers de trace dans un espace de stockage externe et de les examiner dans l'interface utilisateur de l'analyseur de trace Perfetto. En tant que fournisseur SaaS, Datadog importe, visualise et analyse ces profils collectés via son SDK, ce qui permet d'obtenir une vue unifiée de l'état des applications.
En centralisant la télémétrie haute fidélité dans une API d'observabilité unifiée, ProfilingManager permet à Datadog et à ses clients de surveiller, d'examiner et de corriger de manière proactive les régressions complexes des performances Android grâce à des avantages techniques clés :
- Diagnostics de session précis : ProfilingManager améliore la capacité de débogage en fournissant des données de trace directes au niveau de l'OS, ce qui permet de surmonter les problèmes de visibilité et d'alignement typiques de la journalisation personnalisée avec les services système. Pour en savoir plus, les développeurs peuvent télécharger ces traces depuis Datadog afin de les examiner plus en détail dans des outils de visualisation tels que l'interface utilisateur Perfetto.
- Déclencheurs de télémétrie automatisés : en tirant parti des événements système natifs pour lancer l'enregistrement des traces au niveau des points d'optimisation clés, Datadog réduit la nécessité de créer une logique de collecte personnalisée. Bien que le déploiement initial se concentre sur le signal APP_FULLY_DRAWN, il est déjà prévu d'étendre cette observabilité pour inclure les déclencheurs ANR, OOM et COLD_START.
- Instantanés de trace proactifs : en interagissant directement avec le service Perfetto au niveau du système (traced), ProfilingManager utilise un modèle d'enregistrement en arrière-plan proactif conçu pour capturer les problèmes imprévisibles. Les développeurs reçoivent ainsi une visualisation précise des événements ayant entraîné une anomalie de performances, ce qui leur offre un niveau d'informations supérieur à celui qu'ils pourraient obtenir avec une instrumentation manuelle.
- Détection des goulots d'étranglement à grande échelle : Datadog est capable de synthétiser la télémétrie de l'ensemble de sa base de clients mondiale pour découvrir les régressions qui n'apparaissent que dans des configurations matérielles uniques et des environnements réseau variables.
- Stabilité des ressources appliquée par le système : l'API utilise la collecte d'échantillons de trace pour s'assurer que les impacts sur les performances et l'expérience utilisateur restent imperceptibles.
- Contrôles des données sur l'appareil : ProfilingManager filtre les informations non pertinentes provenant d'autres processus sur l'appareil avant que le profil ne soit fourni à l'application. Cela permet de réduire la taille des fichiers et de s'assurer que seules les données pertinentes pour les processus de l'application sont fournies.
Traitement de millions de profils hebdomadaires pour optimiser les applications concrètes
L'intégration d'une API de profilage au niveau du système dans un SDK de surveillance global a nécessité de résoudre des problèmes d'infrastructure. Comme ProfilingManager génère des traces de performances très détaillées, l'équipe d'ingénierie de Datadog a dû créer un pipeline capable d'analyser ces profils côté serveur à grande échelle. Au-delà de la collecte de profils, Datadog souligne également l'importance d'équilibrer la fréquence d'échantillonnage avec la collecte de suffisamment de données pour générer des insights utiles sur votre application. Datadog s'appuie sur la limitation de débit intégrée de ProfilingManager comme mesure de protection essentielle pour la stabilité, ce qui empêche les demandes de télémétrie excessives de surcharger les appareils des utilisateurs.
L'équipe profile l'application Android native de Datadog et celles de plusieurs premiers utilisateurs depuis des mois, en collectant des millions de profils pour garantir une expérience de lancement rapide et sans erreur, et pour affiner ses algorithmes de détection des performances. Aujourd'hui, l'intégration de la production s'adapte facilement à différents appareils Android.
Conclusion
En intégrant l'API ProfilingManager d'Android, Datadog a réussi à combler le manque de visibilité entre les systèmes de backend et les applications clientes mobiles pour ses clients. En traitant des millions de profils chaque semaine avec une surcharge d'appareil négligeable, Datadog fournit aux développeurs Android les insights au niveau du code nécessaires pour diagnostiquer instantanément les bugs de performances complexes. Les développeurs peuvent ainsi créer des applications plus fluides et améliorer les signaux de performances de leur application sur le Play Store. Pour adopter l'API ProfilingManager directement dans votre framework d'observabilité des performances, consultez notre documentation.
À l'avenir, Datadog prévoit de faire des données de profilage Android une entrée de premier ordre pour les agents de codage afin de résoudre de manière autonome les goulots d'étranglement des performances, en bouclant la boucle de rétroaction entre la détection et la correction. Datadog s'efforce de rendre le profilage Android largement accessible aux développeurs.
Pour commencer à utiliser la fonctionnalité de surveillance des utilisateurs réels de Datadog optimisée par ProfilingManager, consultez Datadog Mobile Real User Monitoring.
-
Études de casKarrot est une application de place de marché peer-to-peer hyperlocale axée sur la communauté. Elle permet aux utilisateurs d'acheter, de vendre et d'échanger des articles avec d'autres utilisateurs validés. Depuis son lancement en Corée du Sud en 2015, la plate-forme s'est étendue aux marchés mondiaux et compte désormais plus de 43 millions d'utilisateurs inscrits.
Thomas Ezan, Tracy Agyemang • Temps de lecture : 2 min -
Guides pratiquesSi les performances d'une application sont souvent associées à une interface utilisateur fluide et à des temps de démarrage rapides, la mémoire constitue la base silencieuse sur laquelle reposent ces métriques visibles. Il n'est pas rare de constater que la mémoire de l'appareil est plus importante que jamais.
Alice Yuan, Ajesh Pai, Fung Lam • Temps de lecture : 10 min -
Études de casFotMob a récemment enregistré sa plus forte augmentation du nombre d'utilisateurs Wear OS en cinq ans, soit deux à trois fois la moyenne quotidienne. Le secret ? Un flux d'installation multi-appareils simple qui aide les utilisateurs à découvrir leur application Wear OS directement depuis leur téléphone.
Garan Jenkin • Temps de lecture : 3 min
Recevez chaque semaine les dernières informations sur le développement Android directement dans votre boîte de réception.