O Datadog gera milhões de insights detalhados de desempenho com o ProfilingManager
Leitura de 4 min
As regressões de desempenho são notoriamente difíceis de reproduzir, o que as torna um grande gargalo para desenvolvedores de dispositivos móveis. Embora indicadores como as taxas de ANR mostrem quais problemas ocorrem na produção, identificar a linha de código específica que resultou no problema de desempenho sempre exigiu uma reprodução manual exaustiva ou experimentos especulativos de tentativa e erro.
O Datadog colaborou com o Google para reduzir essa frustração integrando a API ProfilingManager (disponível em dispositivos Android 15 ou mais recentes) às plataformas de monitoramento de usuários reais (RUM, na sigla em inglês) e de criação de perfil contínua. Essa integração transforma o fluxo de trabalho de depuração, permitindo que os desenvolvedores vão além dos sintomas superficiais e detectem o motivo por trás de um gargalo de desempenho.
Ao usar essa API no nível do sistema, o Datadog agora processa milhões de perfis de produção semanalmente em todo o mundo, de acordo com os dados internos do Datadog de junho de 2026. Ele oferece às equipes de engenharia um novo nível de visibilidade do desempenho no mundo real, mantendo uma baixa sobrecarga de ambiente de execução para o monitoramento de desempenho em escala de produção.
O impacto do ProfilingManager
O ProfilingManager é um serviço do sistema lançado no Android 15 que permite que os apps coletem de forma programática dados de performance, como amostras de pilha de chamadas, traces de campo e heap dumps de memória, diretamente de ambientes de produção. Essa capacidade muda o paradigma da engenharia de uma reprodução manual reativa para uma análise de campo proativa.
Por exemplo, um app de comunicações do Google usou traces de campo para investigar por que os horários de início a frio eram mais lentos em hardware mais novo e potente. Ao analisar os traces coletados em campo e comparar os traces em diferentes tipos de dispositivos, o engenheiro descobriu um problema de programação oculto: um serviço de conversão de texto em voz em segundo plano estava sendo pré-aquecido desnecessariamente durante a inicialização do app. Os traces revelaram que esse processo em segundo plano estava monopolizando o núcleo de CPU de maior desempenho do dispositivo, forçando a linha de execução principal do app a entrar em suspensão enquanto o pré-aquecimento ocorria.
Como resolver o desafio de visibilidade no nível do código do Android
Antes da implementação do ProfilingManager, o Real User Monitoring (RUM) da Datadog se concentrava na integridade do aplicativo em alto nível e na telemetria no nível da sessão para avaliar a jornada do usuário. As equipes de engenharia podem monitorar indicadores de desempenho do Android, como tempo até a exibição inicial, taxas de ANR, carga da CPU e frames congelados. Esses insights se estenderam a interações granulares, como latência de rede, eventos de toque e travamentos da linha de execução principal. No entanto, embora esses dados tenham destacado de forma eficaz quais gargalos de desempenho estavam surgindo no campo, eles não forneceram um caminho claro para identificar a causa raiz dessas falhas.
Para resolver isso, o Datadog precisava de um mecanismo de criação de perfil capaz de capturar traces do Android diretamente de dispositivos em produção com o mínimo de impacto no desempenho. Depois de avaliar abordagens alternativas, como escrever o próprio processador de trace usando as APIs de depuração do Android, a equipe selecionou o ProfilingManager porque ele é a solução de melhor desempenho entre as opções de criação de perfil avaliadas e transfere a sobrecarga das decisões de amostragem para o SO.
O ProfilingManager oferece suporte a uma ampla variedade de métodos de coleta, incluindo traces de CPU, amostragem de pilha de chamadas, análise de memória por heap dumps do Java e perfis de alocação heap nativos. Ele permite que os desenvolvedores criem perfis de builds de produção, façam upload de arquivos de trace para o armazenamento externo e os analisem na interface do analisador de trace do Perfetto. Como provedor de SaaS, o Datadog faz upload, visualiza e analisa esses perfis coletados pelo SDK, oferecendo uma visualização unificada da integridade do aplicativo.
Ao centralizar a telemetria de alta fidelidade em uma API Observability unificada, o ProfilingManager permite que o Datadog e os clientes dele monitorem, investiguem e corrijam de forma proativa regressões complexas de desempenho do Android com as seguintes vantagens técnicas:
- Diagnóstico granular de sessões : o ProfilingManager melhora a depuração ao fornecer dados de rastreamento diretos no nível do SO, superando os desafios de visibilidade e alinhamento típicos da geração de registros personalizada com serviços do sistema. Para se aprofundar, os desenvolvedores podem baixar esses traces do Datadog para investigar mais em ferramentas de visualização, como a interface do Perfetto.
- Acionadores de telemetria automatizados : ao usar eventos nativos do sistema para iniciar gravações de trace em pontos de otimização importantes, o Datadog reduz a necessidade de criar uma lógica de coleta personalizada. Embora o lançamento inicial se concentre no indicador APP_FULLY_DRAWN, já há planos para expandir essa observabilidade para incluir os acionadores ANR, OOM e COLD_START.
- Capturas de tela de rastreamento proativas : ao interagir diretamente com o serviço Perfetto no nível do sistema (rastreado), o ProfilingManager usa um modelo de gravação em segundo plano proativo projetado para capturar problemas imprevisíveis. Isso garante que os desenvolvedores recebam uma visualização precisa dos eventos que levam a uma anomalia de desempenho, oferecendo um nível de insight que excede o que é possível com a instrumentação manual.
- Detecção de gargalos em escala : o Datadog pode sintetizar a telemetria de toda a base global de clientes para descobrir regressões que só aparecem em configurações de hardware exclusivas e ambientes de rede variáveis.
- Estabilidade de recursos aplicada pelo sistema : a API usa a coleta de traces de amostragem 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 no dispositivo antes que o perfil seja entregue ao app. Isso minimiza o tamanho dos arquivos e garante que apenas os dados relevantes para os processos do app sejam fornecidos.
Processamento de milhões de perfis semanais para otimizar apps do mundo real
A integração de uma API de criação de perfil no nível do sistema a um SDK de monitoramento global exigiu a resolução de desafios de infraestrutura. Como o ProfilingManager gera traces de desempenho altamente detalhados, a equipe de engenharia do Datadog precisou criar um pipeline capaz de analisar esses perfis no lado do servidor em grande 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 o aplicativo. O Datadog depende da limitação de taxa integrada do ProfilingManager como uma proteção de estabilidade essencial, evitando que solicitações de telemetria excessivas sobrecarreguem os dispositivos dos usuários.
A equipe vem criando perfis do próprio app Android nativo do Datadog e de vários apps de usuários iniciais há meses, coletando milhões de perfis para garantir uma experiência de lançamento rápida e sem erros e refinar os algoritmos de detecção de desempenho. Hoje, a integração de produção é dimensionada de forma integrada em vários dispositivos Android.
Conclusão
Ao integrar a API ProfilingManager do Android, o Datadog conseguiu eliminar a lacuna de visibilidade entre os sistemas de back-end e os aplicativos cliente móveis para os clientes. Ao processar milhões de perfis semanalmente com uma sobrecarga de dispositivo insignificante, o Datadog oferece aos desenvolvedores Android os insights no nível do código necessários para diagnosticar bugs de desempenho complexos instantaneamente, ajudando a criar aplicativos mais fluidos e melhorar os indicadores de desempenho do app na Google Play Store. Para adotar a API ProfilingManager diretamente no seu framework de observabilidade de desempenho, confira nossa documentação.
No futuro, a Datadog pretende tornar os dados de criação de perfil do Android uma entrada de primeira classe para que os agentes de programação resolvam de forma autônoma os gargalos de desempenho, fechando o ciclo de feedback entre detecção e correção. O Datadog está trabalhando para tornar a criação de perfis do Android amplamente acessível aos desenvolvedores.
Para começar a usar o recurso de monitoramento de usuários reais do Datadog com tecnologia do ProfilingManager, acesse Monitoramento de usuários reais do Datadog para dispositivos móveis.
-
Estudos de casoO Karrot é um app de marketplace hiperlocal, peer-to-peer e voltado para a comunidade que permite aos usuários comprar, vender e trocar itens com outros usuários verificados. Desde o lançamento na Coreia do Sul em 2015, a plataforma se expandiu para mercados globais, acumulando mais de 43 milhões de usuários registrados.
Thomas Ezan, Tracy Agyemang • Leitura de 2 min -
Estudos de casoO Grab é o principal superapp do Sudeste Asiático, oferecendo serviços de entrega, mobilidade e serviços financeiros para milhões de usuários em oito países em um único app.
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • Leitura de 5 min -
Estudos de casoA equipe criou uma base de código de interface nativa de IA que é 50% menor do que a implementação original, além de reduzir em 35% o tempo de execução do agente de IA, em 32% as trocas entre engenheiros e agentes e em 33% o custo de tokens.
Pavlo Stavytskyi, Rebecca Franks • Leitura de 11 min
Receba os insights mais recentes sobre o desenvolvimento para Android na sua caixa de entrada toda semana.