DEV Community

Cover image for Como Implementar o Sentry em um Projeto NestJS
Rafael Avelar Campos
Rafael Avelar Campos

Posted on

2

Como Implementar o Sentry em um Projeto NestJS

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
});
Enter fullscreen mode Exit fullscreen mode

*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();
Enter fullscreen mode Exit fullscreen mode

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.

SurveyJS custom survey software

Build Your Own Forms without Manual Coding

SurveyJS UI libraries let you build a JSON-based form management system that integrates with any backend, giving you full control over your data with no user limits. Includes support for custom question types, skip logic, an integrated CSS editor, PDF export, real-time analytics, and more.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs