Примеры из практики
Datadog предоставляет миллионы подробных аналитических данных о производительности с помощью ProfilingManager.
4 минуты чтения

Воспроизвести регрессии производительности крайне сложно, что делает их огромным препятствием для разработчиков мобильных приложений. Хотя такие сигналы, как частота ложных срабатываний (ANR), указывают на проблемы, возникающие в рабочей среде, для точного определения конкретной строки кода, вызвавшей проблему с производительностью, исторически требовались исчерпывающие ручные попытки воспроизведения или эксперименты методом проб и ошибок.
Компания Datadog в сотрудничестве с Google решила эту проблему, интегрировав API ProfilingManager (доступный на устройствах Android 15+) в свои платформы мониторинга реальных пользователей (RUM) и непрерывного профилирования. Эта интеграция преобразует процесс отладки, позволяя разработчикам выйти за рамки поверхностных симптомов и выявить причины возникновения узких мест в производительности.
Благодаря использованию этого системного API, Datadog теперь обрабатывает миллионы производственных профилей еженедельно по всему миру, согласно внутренним данным Datadog за июнь 2026 года. Это предоставляет инженерным командам новый уровень прозрачности в отношении реальной производительности, сохраняя при этом низкие накладные расходы на время выполнения для мониторинга производительности в производственных масштабах.
Влияние ProfilingManager
ProfilingManager — это системная служба, представленная в Android 15, которая позволяет приложениям программно собирать данные о производительности, такие как примеры стека вызовов, трассировки полей и дампы кучи памяти, непосредственно из производственных сред. Эта возможность меняет инженерную парадигму с реактивного ручного воспроизведения на проактивный анализ в полевых условиях.

Например, в одном из коммуникационных приложений Google для анализа трассировки процессов использовались данные с устройств, чтобы выяснить, почему время холодного запуска на более новых и мощных устройствах было медленнее. Изучив собранные данные и сравнив их на разных типах устройств, инженер обнаружил скрытую проблему планирования: фоновый сервис преобразования текста в речь неоправданно предварительно прогревался во время запуска приложения. Трассировка показала, что этот фоновый процесс монополизировал самое производительное ядро процессора устройства, заставляя основной поток приложения переходить в спящий режим на время предварительного прогрева.
Решение проблемы обеспечения прозрачности на уровне кода Android
До внедрения ProfilingManager, система мониторинга реальных пользователей (RUM) от Datadog фокусировалась на высокоуровневом состоянии приложений и телеметрии на уровне сессий для оценки пользовательского пути. Инженерные группы могли отслеживать сигналы производительности Android, такие как время до первого отображения, частота ANR, загрузка ЦП и зависание кадров. Эти данные распространялись и на более детальные взаимодействия, такие как задержка сети, события касания и зависания основного потока. Однако, хотя эти данные эффективно указывали на узкие места в производительности, которые выявлялись на практике, они не давали четкого пути к определению первопричины этих сбоев.

Для решения этой проблемы компании Datadog требовался механизм профилирования, способный напрямую захватывать трассировки Android с устройств в производственной среде с минимальным влиянием на производительность. После оценки альтернативных подходов, таких как разработка собственного процессора трассировки с использованием API отладки Android, команда выбрала ProfilingManager, поскольку это наиболее производительное решение из рассмотренных вариантов профилирования, которое перекладывает ответственность за принятие решений о выборке на операционную систему.
ProfilingManager поддерживает широкий спектр методов сбора данных, включая трассировку ЦП, выборку стека вызовов, анализ памяти с помощью дампов кучи Java и профилирование собственной кучи. Он позволяет разработчикам профилировать производственные сборки, загружать файлы трассировки во внешнее хранилище и просматривать их в пользовательском интерфейсе анализатора трассировки Perfetto. Как поставщик SaaS-услуг, Datadog загружает, визуализирует и анализирует эти профили, собранные с помощью своего SDK, предоставляя единое представление о состоянии приложения.
Централизация высокоточной телеметрии в рамках единого API для мониторинга позволяет ProfilingManager предоставлять Datadog и ее клиентам возможность заблаговременно отслеживать, исследовать и устранять сложные проблемы с производительностью Android благодаря ключевым техническим преимуществам:
- Детальная диагностика сессий: ProfilingManager повышает возможности отладки, предоставляя данные трассировки непосредственно на уровне операционной системы, преодолевая проблемы видимости и согласования, характерные для пользовательского логирования с системными службами. Для более глубокого анализа разработчики могут загрузить эти трассировки из Datadog и использовать инструменты визуализации, такие как Perfetto UI .
- Автоматизированные триггеры телеметрии: используя собственные системные события для запуска записи трассировки в ключевых точках оптимизации, Datadog снижает необходимость в создании собственной логики сбора данных. Хотя первоначальное внедрение сосредоточено на сигнале APP_FULLY_DRAWN , уже есть планы расширить эту возможность мониторинга, включив в нее триггеры ANR , OOM и COLD_START .
- Проактивные снимки трассировки: взаимодействуя напрямую с системной службой Perfetto (traced), ProfilingManager использует проактивную модель фоновой записи, предназначенную для выявления непредсказуемых проблем. Это гарантирует разработчикам получение точной визуализации событий, предшествующих аномалии производительности, обеспечивая уровень понимания, превосходящий возможности ручной инструментации.
- Выявление узких мест в масштабе: Datadog способен синтезировать телеметрию со всей глобальной клиентской базы Datadog, чтобы выявлять регрессии, которые проявляются только при уникальных конфигурациях оборудования и изменчивой сетевой среде.
- Стабильность ресурсов, обеспечиваемая системой: API использует сбор трассировок методом выборки для обеспечения незаметного влияния на производительность и пользовательский опыт.
- Управление данными на устройстве: ProfilingManager отфильтровывает нерелевантную информацию из других процессов на устройстве, прежде чем профиль будет передан приложению. Это минимизирует размер файлов и гарантирует предоставление только данных, относящихся к процессам приложения.
Обработка миллионов еженедельных профилей для оптимизации реальных приложений.
Интеграция API для профилирования на системном уровне в глобальный SDK мониторинга потребовала решения инфраструктурных задач. Поскольку ProfilingManager генерирует очень подробные трассировки производительности, команде разработчиков Datadog пришлось создать конвейер, способный анализировать эти профили на стороне сервера в масштабе. Помимо сбора профилей, Datadog также подчеркивает важность баланса между частотой выборки и сбором достаточного количества данных для получения значимых выводов о вашем приложении. Datadog использует встроенное в ProfilingManager ограничение скорости запросов в качестве критически важной меры обеспечения стабильности, предотвращающей чрезмерную нагрузку на устройства пользователей из-за запросов телеметрии.
Команда в течение нескольких месяцев проводила профилирование собственного нативного Android-приложения Datadog, а также приложений ряда первых пользователей, собрав миллионы профилей, чтобы обеспечить быстрый и безошибочный запуск и усовершенствовать алгоритмы определения производительности. Сегодня интеграция в производственные процессы бесперебойно масштабируется на различных устройствах Android.
Заключение
Интегрировав API ProfilingManager от Android, Datadog успешно устранила разрыв в видимости между бэкэнд-системами и мобильными клиентскими приложениями для своих клиентов. Обрабатывая миллионы профилей еженедельно с минимальными затратами на устройство, Datadog предоставляет разработчикам Android информацию на уровне кода, необходимую для мгновенной диагностики сложных ошибок производительности, помогая разработчикам создавать более плавные приложения и улучшать показатели производительности своих приложений в Play Store. Чтобы внедрить API ProfilingManager непосредственно в вашу систему мониторинга производительности, ознакомьтесь с нашей документацией .
В будущем Datadog стремится сделать данные профилирования Android первоклассным входным параметром для агентов разработки, позволяющим автономно устранять узкие места в производительности, замыкая цикл обратной связи между обнаружением и устранением проблем. Datadog работает над тем, чтобы сделать данные профилирования Android широко доступными для разработчиков.
Чтобы начать использовать функцию мониторинга реальных пользователей Datadog на базе ProfilingManager, посетите страницу Datadog Mobile Real User Monitoring .
Продолжить чтение

Примеры из практики
Karrot — это локальное, основанное на взаимодействии между пользователями приложение-маркетплейс, позволяющее покупать, продавать и обмениваться товарами с другими проверенными пользователями. С момента запуска в Южной Корее в 2015 году платформа расширилась на мировые рынки, собрав более 43 миллионов зарегистрированных пользователей.
Thomas Ezan , Tracy Agyemang • Чтение 2 минуты

Инструкции
Хотя производительность приложений часто ассоциируется с плавным пользовательским интерфейсом и быстрым запуском, память служит негласным фундаментом, на котором строятся эти видимые показатели. Не секрет, что мы наблюдаем сдвиг, при котором объем памяти устройства становится важнее, чем когда-либо.
Alice Yuan , Ajesh Pai , Fung Lam • 10 минут чтения

Примеры из практики
Компания FotMob недавно зафиксировала самый большой за последние 5 лет суточный прирост числа пользователей Wear OS среди своих пользователей, в 2-3 раза превысивший среднесуточный показатель. Секрет? Простой процесс установки на разные устройства, который позволяет пользователям находить приложение Wear OS прямо со своего телефона.
Garan Jenkin • 3 мин чтения
Будьте в курсе событий
Получайте еженедельно самые свежие новости о разработке Android прямо на свою электронную почту.






