O Sentry é uma ferramenta essencial para monitoramento de erros e performance em aplicações. Ele captura e reporta exceções automaticamente, além de permitir o rastreamento de performance e profiling de código. Neste artigo, vamos explorar como configurar e usar o Sentry em um projeto NestJS.
1. Instalando o Sentry
Primeiro, você precisa adicionar as dependências necessárias ao seu projeto NestJS. Execute o seguinte comando:
npm install @sentry/nestjs @sentry/profiling-node
2. Configurando o Sentry
Após instalar as dependências, configure o Sentry no seu projeto. Crie um arquivo para as configurações do Sentry, por exemplo, sentry.config.ts, e adicione o seguinte código:
import * as Sentry from '@sentry/nestjs';
import { nodeProfilingIntegration } from '@sentry/profiling-node';
Sentry.init({
dsn: process.env.SENTRY_DSN, // Adicione sua DSN do Sentry aqui
integrations: [nodeProfilingIntegration()],
tracesSampleRate: 1.0, // Captura 100% das transações para monitoramento de performance
profilesSampleRate: 1.0, // Define a taxa de amostragem para profiling de código
});
*3. Integrando o Sentry na Inicialização do Aplicativo
*
Agora, você precisa integrar o Sentry na inicialização do seu aplicativo. No arquivo principal de inicialização (main.ts), configure o Sentry para capturar e relatar exceções, conforme mostrado abaixo:
import '../src/config/sentry'; // Importa a configuração do Sentry
import {
BaseExceptionFilter,
HttpAdapterHost,
NestFactory,
} from '@nestjs/core';
import { AppModule } from './app.module';
import * as Sentry from '@sentry/nestjs';
async function bootstrap() {
const app = await NestFactory.create(AppModule, { rawBody: true });
// Configurando o Sentry para capturar e relatar exceções
const { httpAdapter } = app.get(HttpAdapterHost);
Sentry.setupNestErrorHandler(app, new BaseExceptionFilter(httpAdapter));
await app.listen(3000);
}
bootstrap();
Conclusão
Com estas configurações, o Sentry está agora integrado ao seu projeto NestJS, monitorando erros, exceções e performance da aplicação. Isso pode ser crucial para identificar e resolver problemas rapidamente, garantindo uma experiência de usuário mais estável e previsível.
Lembre-se de ajustar as taxas de amostragem de acordo com o ambiente e a criticidade da aplicação para evitar sobrecarga desnecessária.
Top comments (0)