Datadog liefert mit ProfilingManager Millionen von detaillierten Leistungsstatistiken
Lesezeit: 4 Minuten
Leistungsregressionen sind bekanntermaßen schwer zu reproduzieren, was sie zu einem massiven Engpass für Entwickler von mobilen Apps macht. Signale wie ANR-Raten zeigen zwar an, welche Probleme in der Produktion auftreten, aber um die genaue Codezeile zu finden, die das Leistungsproblem verursacht hat, waren bisher aufwendige manuelle Reproduktionen oder spekulative Versuche erforderlich.
Datadog hat mit Google zusammengearbeitet, um dieses Problem zu beheben. Dazu wurde die ProfilingManager API (verfügbar auf Geräten mit Android 15 oder höher) in die Plattformen für Real User Monitoring (RUM) und Continuous Profiling integriert. Diese Integration verändert den Debugging-Workflow, sodass Entwickler nicht nur oberflächliche Symptome erkennen, sondern auch die Ursache eines Leistungsengpasses ermitteln können.
Durch die Nutzung dieser API auf Systemebene verarbeitet Datadog laut internen Daten von Datadog vom Juni 2026 jetzt wöchentlich Millionen von Produktionsprofilen weltweit. Es bietet Engineering-Teams einen neuen Einblick in die tatsächliche Leistung und sorgt gleichzeitig für einen geringen Laufzeit-Overhead für das Leistungsmonitoring im Produktionsmaßstab.
Auswirkungen von ProfilingManager
ProfilingManager ist ein in Android 15 eingeführter Systemdienst, mit dem Apps Leistungsdaten wie Aufrufstapel-Stichproben, Feld-Traces und Speicher-Heap-Dumps direkt aus Produktionsumgebungen programmatisch erfassen können. So können Sie von der reaktiven manuellen Reproduktion zur proaktiven Feldanalyse wechseln.
Beispielsweise wurde bei einer Kommunikations-App von Google mithilfe von Feld-Traces untersucht, warum die Kaltstartzeiten auf neuerer, leistungsstärkerer Hardware langsamer waren. Durch die Analyse der im Feld erfassten Traces und den Vergleich von Traces auf verschiedenen Gerätetypen entdeckte der Entwickler ein verstecktes Planungsproblem: Ein Text-zu-Sprache-Dienst im Hintergrund wurde beim Start der App unnötigerweise vorgewärmt. Die Traces zeigten, dass dieser Hintergrundprozess den leistungsstärksten großen CPU-Kern des Geräts monopolisierte und den Hauptthread der App während des Vorwärmens in den Ruhezustand versetzte.
Lösung für die Herausforderung der Sichtbarkeit auf Codeebene in Android
Vor der Implementierung von ProfilingManager konzentrierte sich das Real User Monitoring (RUM) von Datadog auf die allgemeine Anwendungsleistung und Telemetriedaten auf Sitzungsebene, um die User Journey zu bewerten. Entwicklungsteams können Android-Leistungssignale wie die Zeit bis zur ersten Anzeige, ANR-Raten, CPU-Auslastung und eingefrorene Frames überwachen. Diese Statistiken umfassten auch detaillierte Interaktionen wie Netzwerklatenz, Touch-Events und Hänger im Hauptthread. Diese Daten zeigten zwar effektiv, welche Leistungsengpässe in der Praxis auftraten, boten aber keine klare Möglichkeit, die Ursache dieser Fehler zu ermitteln.
Um dieses Problem zu beheben, benötigte Datadog eine Profiling-Engine, die Android-Traces direkt von Geräten in der Produktion mit minimalen Auswirkungen auf die Leistung erfassen kann. Nachdem das Team alternative Ansätze wie das Schreiben eines eigenen Trace-Prozessors mit Android Debug APIs evaluiert hatte, entschied es sich für ProfilingManager, da es die leistungsstärkste Lösung der evaluierten Profiling-Optionen ist und den Overhead für die Sampling-Entscheidungen auf das Betriebssystem verlagert.
ProfilingManager unterstützt eine Vielzahl von Erfassungsmethoden, darunter CPU-Traces, Aufrufstapel-Stichproben, Speicheranalysen über Java-Heap-Dumps und native Heap-Profile. Entwickler können damit Produktions-Builds profilieren, Trace-Dateien in einen externen Speicher hochladen und sie in der Perfetto-Trace-Analyse-UI überprüfen. Als SaaS-Anbieter lädt Datadog diese über sein SDK erfassten Profile hoch, visualisiert und analysiert sie und bietet so eine ganzheitliche Übersicht des Anwendungszustands.
Durch die Zentralisierung von High-Fidelity-Telemetriedaten in einer einheitlichen Observability API ermöglicht ProfilingManager Datadog und seinen Kunden, komplexe Android-Leistungsregressionen proaktiv zu überwachen, zu untersuchen und zu beheben. Dies bietet folgende wichtige technische Vorteile:
- Detaillierte Sitzungsdiagnose: ProfilingManager verbessert die Debugging-Möglichkeiten, indem es direkte Trace-Daten auf Betriebssystemebene liefert. Dadurch werden die Sichtbarkeits- und Abstimmungsprobleme überwunden, die typisch für benutzerdefiniertes Logging mit Systemdiensten sind. Für eine genauere Analyse können Entwickler diese Traces von Datadog herunterladen und in Visualisierungstools wie der Perfetto-Benutzeroberfläche weiter untersuchen.
- Automatisierte Telemetrie-Trigger: Datadog nutzt native Systemereignisse, um Trace-Aufzeichnungen an wichtigen Optimierungspunkten zu initiieren. Dadurch müssen Sie weniger benutzerdefinierte Erfassungslogik erstellen. Die erste Einführung konzentriert sich auf das Signal APP_FULLY_DRAWN. Es ist jedoch bereits geplant, diese Beobachtbarkeit auf die Trigger ANR, OOM und COLD_START auszuweiten.
- Proaktive Trace-Snapshots: Durch die direkte Interaktion mit dem Perfetto-Dienst auf Systemebene (traced) nutzt ProfilingManager ein proaktives Hintergrundaufzeichnungsmodell, das unvorhersehbare Probleme erfassen soll. So erhalten Entwickler eine präzise Visualisierung der Ereignisse, die zu einer Leistungsanomalie geführt haben. Das bietet einen Einblick, der über das hinausgeht, was durch manuelle Instrumentierung möglich ist.
- Engpasserkennung im großen Maßstab: Datadog kann Telemetriedaten aus dem globalen Kundenstamm von Datadog zusammenfassen, um Regressionen aufzudecken, die nur bei bestimmten Hardwarekonfigurationen und variablen Netzwerkumgebungen auftreten.
- Systemerzwungene Ressourcenstabilität: Die API nutzt die Stichprobenerfassung von Traces, um sicherzustellen, dass die Auswirkungen auf die Leistung und die Nutzerfreundlichkeit unbemerkt bleiben.
- Dateneinstellungen auf dem Gerät : ProfilingManager filtert irrelevante Informationen aus anderen Prozessen auf dem Gerät heraus, bevor das Profil an die App gesendet wird. Dadurch werden die Dateigrößen minimiert und es wird sichergestellt, dass nur Daten bereitgestellt werden, die für die Prozesse der App relevant sind.
Verarbeitung von Millionen von Profilen pro Woche zur Optimierung von realen Anwendungen
Die Integration einer Profiling-API auf Systemebene in ein globales Monitoring-SDK erforderte die Lösung von Infrastrukturproblemen. Da ProfilingManager sehr detaillierte Leistungs-Traces generiert, musste das Datadog-Entwicklungsteam eine Pipeline erstellen, die diese Profile auf der Serverseite in großem Umfang parsen und analysieren kann. Neben der Profilerfassung betont Datadog auch, wie wichtig es ist, die Stichprobenhäufigkeit mit der Erfassung von genügend Daten in Einklang zu bringen, um aussagekräftige Informationen zu Ihrer Anwendung zu erhalten. Datadog nutzt die integrierte Ratenbegrenzung von ProfilingManager als wichtige Sicherheitsmaßnahme, um zu verhindern, dass übermäßige Telemetrieanfragen die Geräte der Nutzer überlasten.
Das Team hat monatelang die native Android-App von Datadog und die Apps einer Reihe von ersten Nutzern profiliert und Millionen von Profilen gesammelt, um eine schnelle, fehlerfreie Einführung zu ermöglichen und die Algorithmen zur Leistungserkennung zu verfeinern. Heute lässt sich die Produktionsintegration nahtlos auf eine Vielzahl von Android-Geräten skalieren.
Fazit
Durch die Integration der ProfilingManager API von Android konnte Datadog die Sichtbarkeitslücke zwischen Backend-Systemen und mobilen Clientanwendungen für seine Kunden erfolgreich schließen. Datadog verarbeitet jede Woche Millionen von Profilen mit minimalem Geräteaufwand und bietet Android-Entwicklern so die nötigen Einblicke auf Codeebene, um komplexe Leistungsprobleme sofort zu diagnostizieren. So können Entwickler reibungslosere Anwendungen erstellen und die Leistungssignale ihrer App im Google Play Store verbessern. Wenn Sie die ProfilingManager API direkt in Ihr Framework zur Leistungsbeobachtung einbinden möchten, lesen Sie unsere Dokumentation.
In Zukunft möchte Datadog Android-Profiling-Daten zu einer erstklassigen Eingabe für Coding-Agenten machen, damit diese Leistungsengpässe autonom beheben können. So wird die Feedbackschleife zwischen Erkennung und Behebung geschlossen. Datadog arbeitet daran, Android-Profiling für Entwickler allgemein zugänglich zu machen.
Wenn Sie die Datadog-Funktion für das Real User Monitoring mit ProfilingManager verwenden möchten, rufen Sie Datadog Mobile Real User Monitoring auf.
-
FallstudienKarrot ist eine hyperlokale, Community-gestützte Peer-to-Peer-Marktplatz-App, mit der Nutzer Artikel mit anderen bestätigten Nutzern kaufen, verkaufen und tauschen können. Seit der Einführung in Südkorea im Jahr 2015 hat sich die Plattform auf globale Märkte ausgeweitet und über 43 Millionen registrierte Nutzer gewonnen.
Thomas Ezan, Tracy Agyemang • Lesezeit: 2 Minuten -
FallstudienGrab ist die führende Super-App in Südostasien. Sie bietet Millionen von Nutzern in acht Ländern Liefer-, Mobilitäts- und Finanzdienstleistungen über eine einzige App.
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • Lesezeit: 5 Minuten -
FallstudienDas Team entwickelte eine KI-native UI-Codebasis, die 50% kleiner als die ursprüngliche Implementierung ist. Gleichzeitig wurde die Ausführungszeit des KI-Agenten um 35% reduziert, die Anzahl der Interaktionen zwischen Entwicklern und Agenten um 32% gesenkt und die Tokenkosten um 33% verringert.
Pavlo Stavytskyi, Rebecca Franks • Lesezeit: 11 Minuten
Lassen Sie sich Woche für Woche die neuesten Informationen zur Android-Entwicklung zusenden.