0Pricing
React Academy · Aula

Monitoramento de usuários reais e Web Vitals

Capture LCP, FID, CLS e marcas de desempenho personalizadas como métricas do OpenTelemetry usando a biblioteca web-vitals.

Monitoramento de usuários reais e Web Vitals é uma aula grátis de React Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de React Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de React Academy inclui 4 aulas no total.

A biblioteca web-vitals

O pacote npm web-vitals do Google fornece uma API simples para medir os Core Web Vitals nos navegadores de usuários reais. Instale-o com npm install web-vitals e importe funções de retorno individuais de métricas: onLCP, onFID (obsoleto), onCLS, onFCP, onTTFB e a moderna onINP para Interação até a Próxima Pintura.

Funções de retorno e objetos de métricas

Cada função de retorno (onLCP, onCLS, onINP etc.) recebe um objeto de métrica que contém: name ('LCP'), value (milissegundos ou uma pontuação sem unidade), rating ('good', 'needs-improvement', 'poor') e id (um identificador exclusivo para deduplicação). A função de retorno é executada quando o valor da métrica é finalizado.

Enviando Web Vitals para um ponto de extremidade de análise

Use a API Navigator.sendBeacon ou uma solicitação de rede para enviar métricas ao seu ponto de extremidade de análise. sendBeacon é preferível porque continua funcionando mesmo depois que a página é descarregada — algo essencial para métricas como CLS, finalizadas quando a página fica oculta. Sempre que possível, reúna todos os envios de métricas em um único envio.

Enviando Web Vitals como métricas do OpenTelemetry

Para integrar os Web Vitals ao OpenTelemetry, crie instrumentos de medição para cada métrica: const lcp = meter.createObservableGauge('web_vitals.lcp'). Em cada função de retorno onLCP, registre o valor com atributos relevantes (caminho da página, tipo de dispositivo). Seu back-end de observabilidade poderá então gerar alertas sobre regressões do P75 LCP.

Marcas de desempenho personalizadas do React

Para medir o desempenho específico do React que não é capturado pelos Web Vitals, use a API de temporização do usuário: performance.mark('render-start') antes da renderização, performance.mark('render-end') depois e, em seguida, performance.measure('component-render', 'render-start', 'render-end'). Essas medições aparecem na guia Desempenho do Chrome DevTools.

API Profiler do React

O componente Profiler do React envolve uma subárvore e chama sua função de retorno onRender com dados de temporização: id (ID do Profiler), phase ('mount' ou 'update'), actualDuration (tempo de renderização), baseDuration (tempo de renderização estimado sem memoização). Use-o durante o desenvolvimento para identificar componentes lentos.

Rastreamento de erros como intervalos do OpenTelemetry

Erros não tratados e rejeições de promessas podem ser capturados como intervalos do OpenTelemetry com status de erro. Configure ouvintes globais: window.addEventListener('error', handler) e window.addEventListener('unhandledrejection', handler). Crie um intervalo, defina span.setStatus({ code: SpanStatusCode.ERROR }), adicione a mensagem de erro e o rastreamento da pilha como atributos e finalize o intervalo.

Integração com limites de erro do React

Os limites de erro do React capturam erros de renderização na árvore de componentes. No método componentDidCatch, crie um intervalo do OpenTelemetry que represente o erro, defina seu status como ERROR, associe error.message e componentStack como atributos e chame span.end(). Assim, os erros de renderização do React são encaminhados para o fluxo de rastreamento distribuído.

Mapas de origem para resolver rastreamentos da pilha

O JavaScript de produção minimizado produz rastreamentos da pilha ilegíveis, como "a.b at bundle.min.js:1:84721". Envie mapas de origem para o Sentry, o Datadog ou seu fluxo do OpenTelemetry durante o processo de compilação de CI/CD, para que os rastreamentos brutos sejam automaticamente resolvidos para os nomes originais dos arquivos TypeScript e os números das linhas.

Amostragem de sessões RUM

Enviar dados completos de rastreamamento para cada sessão é caro. Implemente a amostragem de sessões: atribua aleatoriamente um indicador sessionSampled no primeiro carregamento da página e armazene-o em sessionStorage. Inicialize o SDK do OpenTelemetry e envie rastreamentos somente para sessões amostradas (por exemplo, 10%). Sempre faça a amostragem de 100% das sessões com erros.

Alertas sobre regressões dos Web Vitals

Os Web Vitals informados como métricas do OpenTelemetry permitem alertas baseados em SLO: se o P75 LCP exceder 2,5 segundos em mais de 5% das sessões durante uma janela de 1 hora, dispare um alerta. Isso fornece às equipes de engenharia sinais acionáveis diretamente relacionados à experiência do usuário, em vez de métricas da infraestrutura de back-end.

Função de retorno onLCP dos Web Vitals

Quando a função de retorno onLCP da biblioteca web-vitals é acionada?

Resumo da lição

A biblioteca web-vitals fornece funções de retorno simples para medir LCP, INP, CLS, FCP e TTFB nos navegadores de usuários reais. Informe essas métricas como métricas do OpenTelemetry para permitir alertas baseados em SLO, capture erros por meio de ouvintes globais e limites de erro do React como intervalos do OpenTelemetry e envie mapas de origem para resolver rastreamentos da pilha minimizados. Faça a amostragem das sessões para controlar o volume de dados, preservando 100% da cobertura de erros.

Perguntas Frequentes

A aula “Monitoramento de usuários reais e Web Vitals” é grátis?

Sim — o texto completo de “Monitoramento de usuários reais e Web Vitals” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de React Academy, atualize para CoddyKit PRO. O curso de React Academy inclui 4 aulas no total.

O que vou aprender em “Monitoramento de usuários reais e Web Vitals”?

Capture LCP, FID, CLS e marcas de desempenho personalizadas como métricas do OpenTelemetry usando a biblioteca web-vitals. Você pratica React Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar React Academy?

Nenhuma experiência prévia é necessária. React Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.

Quanto tempo leva a aula “Monitoramento de usuários reais e Web Vitals”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de React Academy?

Sim. Cada aula de React Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Observabilidade do frontend: o que é e por que importa
  2. Rastreamentos OpenTelemetry do navegador
  3. Monitoramento de usuários reais e Web Vitals
  4. Correlacionando rastreamentos do frontend e do backend
← Voltar para React Academy