Use esta página para solucionar problemas de uploads de source map do React Native e simbolização de MobileJSError. Para saber como fazer o upload de source maps, consulte Relatório de erros de JavaScript do React Native.
Resolução de problemas
Erros de source map na interface
Caso algum dos seguintes erros seja exibido na interface, ou o arquivo de mapa de origem não possui o atributo sourcesContent, ou os metadados enviados com o upload (sourcemapName, jsBundleId ou appVersion) não correspondem aos valores que o aplicativo relata para essa compilação:
Source map not found.
Source map missing.
Incorrect map detected.
Incorrect and missing maps detected.
Primeiro, confirme se sourcemapName, jsBundleId e appVersion usados para o upload correspondem aos valores que o aplicativo relata para essa compilação (consulte Por que os números das minhas linhas não correspondem?). Se os metadados corresponderem, o source map deverá incluir o atributo sourcesContent para que o New Relic desminifique os stack traces. Gere novamente o source map para que ele inclua este atributo e, em seguida, faça o upload novamente. A maioria dos bundlers inclui o conteúdo original da fonte quando uma opção como includeSources (ou o equivalente para a ferramenta de build) é habilitada.
Há um aplicativo React Native, mas o item de menu não é exibido
Caso haja um aplicativo React Native, mas o item de menu do React Native não seja exibido na interface, verifique se a versão do agente está atualizada e se o aplicativo está enviando dados. O item de menu não aparece até que o aplicativo envie dados com a tag da plataforma React Native.
Não é possível ver os eventos MobileJSError e de exceção tratada
Com a nova versão do agente, não serão exibidos tanto os eventos MobileJSError quanto os eventos de exceção tratada para os mesmos erros de JavaScript. Em vez disso, os erros de JavaScript são registrados como eventos MobileJSError.
Atualmente, o New Relic suporta MobileJSError apenas para React Native. Capacitor e Cordova não são suportados.
Perguntas frequentes
Sim. É possível fazer o upload de um mapa de origem compactado com gzip ou zip (.zip). Os scripts de build compactam automaticamente arquivos .map grandes antes do upload.
200 MB descompactados. O New Relic não armazena source maps maiores que 200 MB descompactados para simbolicação. Em vez disso, envia telemetria de build. Para obter detalhes, consulte Limitações de tamanho de arquivo.
Os trechos de código exigem o atributo sourcesContent no mapa de origem. Se o mapa de origem não incluir o conteúdo de origem original, o New Relic ainda poderá desminificar o stack trace usando os mapeamentos de linha e coluna, mas não poderá exibir o código-fonte circundante. Gere novamente o mapa de origem com uma opção como includeSources ativada (ou o equivalente para a ferramenta de compilação) e, em seguida, faça o upload novamente.
Os números de linha não correspondem quando o mapa de origem do qual foi feito o upload não corresponde exatamente ao pacote JavaScript que produziu o erro. Certifique-se de que jsBundleId e appVersion usados para o upload correspondam aos valores que o aplicativo relata para essa compilação — isso é especialmente importante após um CodePush ou outra atualização over-the-air (OTA), quando o pacote JavaScript diverge da versão binária nativa. Confirme também se o mapa de origem é a versão 3.
Não. A simbolização do React Native da New Relic oferece suporte a apenas um único arquivo de mapa de origem, correspondendo ao simbolizador padrão (não multibundle) do Metro. Se o seu aplicativo dividir o JavaScript em vários pacotes e gerar vários mapas de origem, a New Relic não oferecerá suporte à simbolização para essa configuração.