Aplicativos transpilados, como aqueles escritos em TypeScript ou Babel, mostrarão rastreamento de pilha de erros que normalmente apontam para arquivos, linhas e funções dentro dos arquivos criados, em vez dos arquivos de origem.
Se você habilitar o mapeamento de origem no Node.js, obterá um rastreamento de erro mais significativo que aponta para linhas e funções no código-fonte.
Como habilitar o mapeamento de origem
Você pode ativar o suporte ao mapa de origem do Node no comando node
que inicia seu aplicativo:
$node --enable-source-maps -r newrelic ./dist/server.js
Exemplo
Um aplicativo executado sem suporte ao mapa de origem pode exibir um stack trace de erros como este:
Error: Failed to get all entries in model at /dist/models/entries.js:41:23 ... (multiple functions in New Relic Node agent js files) at /dist/models/entries.js:39:35 at Generator.next (<anonymous>)
Dica
Observe que o trace se refere aos arquivos criados em /dist
.
O mesmo aplicativo com suporte ao mapa de origem ativado fará referência aos arquivos de código-fonte:
Error: Failed to get all entries in model at <anonymous> (/src/models/entries.ts:28:13) ... (multiple functions in New Relic Node agent js files) at <anonymous> (/src/models/entries.ts:26:19) at Generator.next (<anonymous>)
Esse stack trace aponta para funções específicas e números de linha em seus arquivos de origem, para que você possa encontrar erros com mais facilidade.
Você pode observar esse comportamento executando nosso aplicativo de exemplo de mapas de origem, o que facilita a comparação do rastreamento de erros com e sem mapas de origem ativados.