APM: o que é, métricas e como funciona

Autor: IT Sectr Publicado: 2026-05-29 Tempo de leitura: 8 min

APM (Application Performance Monitoring) é uma abordagem abrangente para monitorar o desempenho de software, incluindo coleta de métricas, rastreamento de requisições e diagnóstico de erros em tempo real. De acordo com Gartner IT Glossary, 2024, o APM combina três áreas-chave: monitoramento da experiência do usuário, detecção de falhas na arquitetura da aplicação e análise de dados de execução para diagnóstico aprofundado de incidentes.

Principais Conclusões

  • APM — Application Performance Monitoring, um sistema para observar o desempenho de aplicativos em todos os níveis: cliente, rede, servidor, infraestrutura.
  • Três pilares do APM — métricas, rastreamento e logs, unificados em uma plataforma de observabilidade para análise completa de incidentes.
  • APM baseado em agente — instalação de um agente de software no servidor da aplicação para coletar dados detalhados de tempo de execução.
  • Mapa de serviços — um grafo de dependências entre microsserviços, construído automaticamente a partir de dados de rastreamento.
  • Pontuação Apdex — uma medida padronizada de satisfação do usuário com o tempo de resposta da aplicação.

O que é APM no Desenvolvimento

APM (Application Performance Monitoring) é a disciplina de gerenciamento de desempenho de aplicativos, abrangendo coleta, visualização e análise de dados de operação do software. Ao contrário do monitoramento pontual de métricas individuais (CPU, memória), o APM fornece uma visão holística: como o aplicativo se comporta da perspectiva do usuário, como seus componentes interagem e onde ocorrem os gargalos.

O conceito de APM surgiu na década de 2010 com a transição de aplicações monolíticas para arquitetura de microsserviços. Quando o número de serviços excedeu 10–15 unidades, os métodos tradicionais de monitoramento pararam de funcionar — era impossível determinar qual serviço específico causou a lentidão em toda a requisição. As soluções APM resolveram esse problema por meio de rastreamento distribuído e construção automática de mapa de serviços.

De acordo com a Grand View Research (2024), o mercado de APM está avaliado em 8,2 bilhões de dólares e cresce 11,5% ao ano. Os principais impulsionadores incluem migração para a nuvem, aumento do número de microsserviços e crescentes requisitos de qualidade da experiência do usuário em aplicativos mobile e serviços web.

Três Pilares do APM: Métricas, Rastreamento, Logs

O APM moderno é construído sobre três tipos de dados que juntos formam uma imagem completa do estado da aplicação. As métricas são agregados numéricos: tempo de resposta, número de requisições, taxa de erros. Elas respondem à pergunta “o que está acontecendo” e permitem configurar alertas com base em valores limiar.

Rastreamento como Elo de Ligação

O rastreamento (distributed tracing) responde à pergunta “por que isso está acontecendo.” Cada requisição recebida é rastreada por todos os microsserviços, bancos de dados e chamadas externas. O sistema APM combina métricas e rastreamento: se a métrica de tempo de resposta aumentou, o desenvolvedor navega para o dashboard de rastreamento e vê a requisição exata que causou a lentidão, detalhada por cada serviço.

Logs para Profundidade

Os logs fornecem contexto — uma mensagem de erro específica, valor de variável, pilha de chamadas. Plataformas APM modernas (Datadog, New Relic, Grafana) vinculam logs a rastreamentos por meio de um trace_id comum, permitindo navegar de um gráfico de métrica para o log de uma requisição específica. De acordo com a Datadog (2025), correlacionar logs com rastreamentos reduz o tempo médio de diagnóstico de incidentes de 45 para 12 minutos.

SinalPerguntaUnidade
MétricasO que está acontecendo?Agregados numéricos
RastreamentoPor que está acontecendo?Spans e traces
LogsO que exatamente deu errado?Registros de texto

Arquitetura do APM: Agentes e Coletores

A arquitetura clássica do APM consiste em três níveis: agente, coletor e backend. Um agente é uma biblioteca incorporada ao aplicativo ou executada junto a ele (sidecar). O agente intercepta chamadas recebidas e enviadas, coleta dados de tempo de execução e os envia ao coletor por um canal seguro.

Como o Agente APM Funciona

Um agente APM para Java pode se conectar via javaagent no nível da JVM, instrumentando automaticamente todas as requisições HTTP, chamadas a banco de dados, filas de mensagens e APIs externas. Para plataformas mobile, o agente se conecta como um SDK e coleta métricas do dispositivo. O Agente New Relic para Android, por exemplo, rastreia automaticamente todas as requisições de rede via OkHttp, clientes HTTP e WebView.

java
import com.newrelic.agent.android.NewRelic;

public class MainApplication extends Application {
    public void onCreate() {
        super.onCreate();
        NewRelic.withApplicationToken("YOUR_TOKEN")
            .start(this);
    }
}

Este código inicializa o Agente New Relic em um aplicativo Android. Após a inicialização, o agente coleta automaticamente métricas de requisições de rede, erros, ANR e dados de desempenho da UI sem instrumentação adicional de cada tela. O agente é executado em uma thread em segundo plano e não afeta o desempenho da interface principal do aplicativo.

Coletor e Backend

O coletor recebe dados de milhares de agentes, agrega métricas, realiza amostragem de rastreamentos e armazena dados em armazenamento de longo prazo com capacidades de armazenamento quente e frio. O backend do APM fornece dashboards, alertas, mapas de serviços e uma API para integração com sistemas externos (Slack, PagerDuty, Jira, ServiceNow). A Datadog processa mais de 10 milhões de pontos de dados por segundo por meio de seus coletores, localizados em mais de 20 regiões do mundo para latência de transmissão mínima.

Pontuação Apdex e Monitoramento SLA

Apdex (Application Performance Index) é um padrão aberto para medir a satisfação do usuário com o tempo de resposta da aplicação. O valor Apdex é calculado usando a fórmula: (número de usuários satisfeitos + número de usuários tolerantes / 2) / número total de usuários. O resultado é um número de 0 a 1, onde 1 significa que todos os usuários estão satisfeitos.

Os limites Apdex são definidos individualmente para cada aplicativo. Para aplicativos mobile, um limite típico de satisfação é um tempo de resposta de até 1,5 segundos, tolerante até 4,5 segundos. Qualquer coisa acima de 4,5 segundos é considerada inaceitável. Uma pontuação Apdex de 0,94 ou superior é considerada excelente para um ambiente de produção.

O Apdex é usado não apenas como uma métrica de qualidade, mas também como um limite para alertas. Se o Apdex cair abaixo de 0,85 por 10 minutos, o sistema APM envia uma notificação à equipe de plantão. Esta é uma abordagem mais equilibrada do que depender de valores absolutos de tempo de resposta, que podem flutuar dependendo da hora do dia e da carga.

APM para Aplicativos Mobile

O APM mobile tem suas próprias especificidades: o aplicativo é executado no dispositivo do usuário, que pode estar em diferentes condições de rede, ter diferentes quantidades de memória livre e versões de SO. O Mobile APM deve levar em conta todos esses fatores e fornecer uma discriminação de métricas por modelos de dispositivo, versões de SO, regiões e operadoras de rede.

Coleta de Dados do Dispositivo

Agentes APM mobile coletam métricas no dispositivo e as enviam ao servidor em lotes em intervalos de 1 a 5 minutos. Isso minimiza o impacto no tráfego do usuário. Em caso de perda de conexão, os dados são salvos em um cache local e enviados na próxima conexão. O Firebase Performance e o Dynatrace Mobile suportam retransmissão automática em caso de perda de rede.

Métricas Mobile Principais

Métricas específicas são adicionadas às métricas padrão do APM no desenvolvimento mobile: tempo de inicialização a frio, FPS durante a rolagem, consumo de memória, frequência de ANR (Android) e número de terminações watchdog (iOS). O New Relic Mobile rastreia adicionalmente visualizações de mapa, percentual de uso de cache e tempo de renderização de ViewControllers específicos.

swift
import NewRelic

class ProfileViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        NewRelic.startInteraction(withName: "ProfileView")
    }

    override func viewDidDisappear(animated: Bool) {
        super.viewDidDisappear(animated)
        NewRelic.stopCurrentInteraction()
    }
}

O código em Swift cria um trace de interação para a tela de perfil do usuário. O New Relic medirá automaticamente o tempo de carregamento de dados, renderização da UI e todas as requisições de rede realizadas durante a exibição desta tela.

Comparação de Plataformas APM Populares

O mercado de APM possui dezenas de soluções que diferem em profundidade de monitoramento, custo e plataformas suportadas. O Datadog APM lidera na integração de métricas, rastreamentos e logs em uma única interface. A New Relic oferece o rastreamento mais detalhado para plataformas mobile. A Dynatrace usa o mecanismo de IA Davis para detecção automática de causas raiz.

PlataformaAgente MobileRastreamento DistribuídoPlano Gratuito
DatadogiOS, AndroidSimNão
New ReliciOS, AndroidSim100 GB/mês
DynatraceiOS, AndroidSim15 dias
GrafanaVia OpenTelemetrySimSim (OSS)

A escolha da plataforma APM depende do tamanho da equipe, stack tecnológico e orçamento. Para startups, o Firebase Performance combinado com Grafana para o backend é o ideal. Para projetos corporativos com altos requisitos de SLA — Datadog ou Dynatrace com um conjunto completo de ferramentas de observabilidade e análise de causa raiz com IA.

Perguntas Frequentes

Como o APM difere do monitoramento de servidores comum?

O monitoramento comum rastreia métricas de infraestrutura: CPU, memória, disco. O APM observa o nível da aplicação: tempo de execução de transações específicas, consultas SQL, chamadas HTTP entre microsserviços. O APM pode mostrar que a CPU está normal, mas o aplicativo está lento devido a uma consulta lenta ao banco de dados.

O APM é necessário para um único microsserviço?

Para um único serviço, monitoramento padrão + logging é suficiente para cobertura básica. O APM se torna necessário quando há 5 ou mais serviços, e uma requisição passa por vários deles em um único cenário de usuário. O APM dá a resposta sobre qual serviço específico está desacelerando todo o fluxo da requisição e onde está o gargalo.

Como o APM afeta o custo da infraestrutura?

Os agentes APM consomem 1–3% de CPU e 50–200 MB de memória por servidor. Os custos de licença variam de 15 a 80 dólares por host por mês. O tráfego de telemetria é de 1 a 10 GB por dia por host, dependendo da intensidade do rastreamento. OpenTelemetry + Grafana é uma alternativa gratuita ao APM comercial.

Pode-se usar APM para um aplicativo mobile sem backend?

Sim, os agentes APM mobile funcionam de forma autônoma. Eles coletam métricas no dispositivo mesmo que o aplicativo não tenha um lado servidor: tempo de inicialização, FPS, crashes, requisições de rede a APIs de terceiros. Os dados são enviados à plataforma APM quando o dispositivo se conecta à internet.

Com que frequência a configuração do APM precisa ser atualizada?

A configuração básica do APM (limiares, dashboards, alertas) é definida uma vez e ajustada quando a arquitetura muda ou os benchmarks de desempenho são atualizados. A configuração do agente é atualizada automaticamente através do painel de controle da plataforma APM, sem necessidade de relançar o aplicativo ou modificar o código.

Resumo

  • APM é uma solução abrangente de monitoramento de desempenho de aplicativos que combina métricas, rastreamento e logs.
  • Rastreamento distribuído é a principal diferença do APM em relação ao monitoramento clássico, permitindo rastrear o caminho de uma requisição por todos os microsserviços.
  • Os agentes APM são incorporados ao aplicativo e coletam automaticamente dados de tempo de execução, requisições HTTP e chamadas a banco de dados.
  • A pontuação Apdex é uma métrica padronizada de satisfação do usuário calculada com base em limiares de tempo de resposta.
  • O APM mobile considera as especificidades do dispositivo: inicialização a frio, FPS, ANR, condições de rede e versões do SO.
  • OpenTelemetry permite construir um sistema APM sem dependência de fornecedor, usando um padrão aberto de coleta de dados.
  • A escolha da plataforma APM é determinada pela escala do projeto: Firebase para startups, Datadog ou Dynatrace para arquiteturas corporativas com altos requisitos de observabilidade.

Vamos desenvolver um aplicativo móvel chave na mão

A IT Sectr cria aplicativos para iOS e Android para startups e empresas desde 2017. Nós vamos aconselhá-lo e propor a melhor solução.

Discutir o projeto

Leia também