Postado por Alice Yuan, Engenheira de Relações com Desenvolvedores na Google, Arti Arutiunov, Gerente de Produto na Datadog e Nikita Ogorodnikov, Engenheiro de Software Sênior na Datadog
Regressões de desempenho são notoriamente difíceis de reproduzir, tornando as regressões uma barreira significativa para desenvolvedores móveis. Embora sinais como taxas de ANR indiquem quais problemas ocorrem em produção, identificar a linha específica do código que resultou no problema de desempenho historicamente exigia reprodução manual exaustiva ou experimentação especulativa.
A Datadog colaborou com a Google para mitigar essa frustração integrando o ProfilingManager API (disponível em dispositivos Android 15+) em seus sistemas de Monitoramento de Usuários Reais (RUM) e Perfilamento Contínuo. Essa integração transforma o fluxo de trabalho de depuração, permitindo que os desenvolvedores passem além dos sintomas superficiais para ser capazes de detectar a razão por trás de um gargalo de desempenho.
Ao aproveitar esse sistema API, a Datadog agora processa milhões de perfis em produção semanalmente globalmente conforme dados internos da Datadog de junho de 2026. Isso fornece aos times de engenharia uma nova visibilidade sobre o desempenho real do mundo todo, mantendo um baixo custo de execução para monitoramento de desempenho em escala de produção.
O impacto do ProfilingManager
O ProfilingManager é um serviço do sistema introduzido no Android 15 que permite que os aplicativos coletam programaticamente dados de desempenho, como amostras de pilha de chamadas, rastreamentos de campo e derrames da pilha de memória diretamente a partir de ambientes de produção. Essa capacidade transforma o paradigma de engenharia de reativo à reprodução manual para proativo ao análise em campo.
Por exemplo, um aplicativo de comunicação da Google usou rastreamentos de campo para investigar por que os tempos de inicialização fria eram mais lentos em hardware mais novo e poderoso. Ao mergulhar nos rastreamentos coletados no campo e compará-los entre diferentes tipos de dispositivos, o engenheiro descobriu um problema oculto de agendamento: um serviço de texto para fala em segundo plano estava sendo pré-aquecido desnecessariamente durante a inicialização do aplicativo. Os rastreamentos revelaram que esse processo em segundo plano monopolizava o núcleo mais alto desempenho da CPU grande, forçando a thread principal do aplicativo a dormir enquanto ocorria o pré-aquecimento.
Solucionando o desafio de visibilidade no nível do código Android
Antes da implementação do ProfilingManager, o Monitoramento de Usuários Reais (RUM) da Datadog focava em saúde de aplicativos e telemetria ao nível da sessão para avaliar a jornada do usuário. Times de engenharia podiam monitorar sinais de desempenho Android como tempo até exibição inicial, taxas de ANR, carga da CPU e quadros congelados. Esses insights estendiam-se a interações granulares, como latência de rede, eventos de toque e travamentos na thread principal. No entanto, enquanto essa informação destacava quais gargalos de desempenho surgiam no campo, ela não fornecia uma rota clara para identificar a causa raiz dessas falhas.
Para resolver isso, a Datadog precisava de um motor de perfilamento capaz de capturar rastreamentos do Android diretamente dos dispositivos em produção com impacto mínimo no desempenho. Após avaliar abordagens alternativas, como escrever seu próprio processador de rastreamento usando APIs de depuração do Android, a equipe selecionou o ProfilingManager porque é a solução mais performática das opções de perfilamento que avaliou e transfere a sobrecarga de decisões de amostragem para o SO.
O ProfilingManager suporta uma ampla gama de métodos de coleta, incluindo rastreamentos de CPU, amostragem de pilha de chamadas, análise de memória através de dump do heap Java e perfis de heap nativo. Ele permite que os desenvolvedores perfilam builds de produção, carreguem arquivos de rastreamento em armazenamento externo e os revisem na interface do usuário (UI) do analisador de rastreamentos Perfetto. Como provedor SaaS, a Datadog carrega, visualiza e analisa esses perfis coletados via seu SDK, fornecendo uma visão unificada da saúde do aplicativo.
Ao centralizar telemetria de alta fidelidade dentro de uma API de observabilidade unificada, o ProfilingManager permite que a Datadog e seus clientes monitorem, investiguem e corrijam regressões complexas no desempenho do Android através de vantagens técnicas-chave:
- Dianóstico granular de sessão: O ProfilingManager melhora a depuração fornecendo dados diretos do nível do sistema operacional, superando as desvantagens típicas da criação de logs personalizados com serviços do sistema. Para investigar mais profundamente, os desenvolvedores podem baixar esses rastreamentos do Datadog e analisá-los em ferramentas de visualização como a UI Perfetto.
- Iniciação automática de telemetria: Ao aproveitar eventos nativos do sistema para iniciar gravações de rastreamento em pontos-chave de otimização, o Datadog reduz a necessidade de criar lógica personalizada de coleta. Enquanto a primeira implementação se concentra no sinal APP_FULLY_DRAWN, já existem planos para expandir essa observabilidade a incluir ANR, OOM e COLD_START.
- Snapshots proativos: Ao se conectar diretamente ao serviço de nível do sistema Perfetto (traced), o ProfilingManager utiliza um modelo de gravação em segundo plano projetado para capturar problemas imprevisíveis. Isso garante que os desenvolvedores recebam uma visualização precisa dos eventos que precedem uma anomalia de desempenho, oferecendo um nível de insight que excede o possível através da instrumentação manual.
- Detectando gargalos em larga escala: O Datadog é capaz de sintetizar telemetria de toda a base global de clientes do Datadog para descobrir regressões que só surgem sob configurações únicas de hardware e ambientes de rede variáveis.
- Estabilidade de recursos forçada pelo sistema: A API utiliza a coleta de amostras de rastreamento para garantir que os impactos no desempenho e na experiência do usuário permaneçam imperceptíveis.
- Controles de dados no dispositivo: O ProfilingManager filtra informações irrelevantes de outros processos antes que o perfil seja entregue à aplicação. Isso minimiza os tamanhos dos arquivos e garante que apenas dados relevantes aos processos da aplicação sejam fornecidos.
Processando milhões de perfis semanais para otimizar aplicativos do mundo real
An exemplo de medição de tempo inicial de exibição com amostragem de pilha impulsionada pelo ProfilingManager.A integração de uma API de perfilamento no nível do sistema em um SDK de monitoramento global exigiu resolver desafios de infraestrutura. Como o ProfilingManager gera rastreamentos altamente detalhados de desempenho, a equipe de engenharia do Datadog teve que construir uma pipeline capaz de analisar esses perfis no lado do servidor em larga escala.
Além da coleta de perfis, o Datadog também enfatiza a importância de equilibrar a frequência de amostragem com a coleta de dados suficientes para gerar insights significativos sobre seu aplicativo.
O Datadog confia na limitação de taxa interna do ProfilingManager como uma medida crítica de estabilidade, prevenindo solicitações excessivas de telemetria que sobrecarreguem os dispositivos dos usuários.
A equipe tem perfilado o próprio aplicativo nativo Android do Datadog e vários aplicativos de adotantes iniciais há meses, coletando milhões de perfis para garantir uma experiência de lançamento rápida e sem erros e aperfeiçoar seus algoritmos de detecção de desempenho. Hoje, a integração em produção escala suavemente por uma variedade de dispositivos Android.
Conclusão
A integração da API ProfilingManager do Android permitiu que a Datadog fechasse a lacuna de visibilidade entre os sistemas backend e as aplicações móveis clientes para seus usuários. Ao processar milhões de perfis semanalmente com um custo mínimo de recursos no dispositivo, a Datadog equipa desenvolvedores Android com insights de nível de código necessários para diagnosticar bugs de desempenho complexos instantaneamente, ajudando os desenvolvedores a construir aplicações mais suaves e melhorar as métricas de desempenho do seu aplicativo no Play Store. Para adotar diretamente a API ProfilingManager em seu quadro de observabilidade de desempenho, consulte nossa documentação.
No futuro, a Datadog visa tornar os dados de perfil do Android uma entrada de primeira classe para agentes de codificação resolverem automaticamente gargalos de desempenho, fechando o loop de feedback entre detecção e resolução. A Datadog está trabalhando para tornar o perfilamento do Android amplamente acessível aos desenvolvedores.
Para começar a usar a funcionalidade de monitoramento real de usuários da Datadog, alimentada pelo ProfilingManager, visite Monitoramento Real de Usuários da Datadog para Mobile.

