Skip to content

Sentry é uma plataforma de monitoramento de erros que ajuda você a rastrear e corrigir erros em tempo real. O Bun funciona perfeitamente com o SDK JavaScript do Sentry.


Instalar o SDK do Sentry

Primeiro, instale o pacote @sentry/bun que é otimizado especificamente para Bun.

sh
bun add @sentry/bun

Configurar o Sentry

Crie um arquivo index.ts e configure o Sentry com seu DSN.

ts
import * as Sentry from "@sentry/bun";

Sentry.init({
  dsn: "https://publicKey@o0.ingest.sentry.io/0",
  // Configurar taxa de amostragem de traces para produção
  tracesSampleRate: 1.0,
});

// Capturar um erro de exemplo
try {
  throw new Error("Erro de exemplo");
} catch (error) {
  Sentry.captureException(error);
}

Capturar erros automaticamente

O @sentry/bun pode capturar erros não tratados automaticamente.

ts
import * as Sentry from "@sentry/bun";

Sentry.init({
  dsn: "https://publicKey@o0.ingest.sentry.io/0",
  tracesSampleRate: 1.0,
});

// Este erro será capturado automaticamente
throw new Error("Erro não tratado");

Adicionar contexto aos erros

Você pode adicionar contexto adicional aos seus erros para facilitar o debugging.

ts
import * as Sentry from "@sentry/bun";

Sentry.init({
  dsn: "https://publicKey@o0.ingest.sentry.io/0",
  tracesSampleRate: 1.0,
});

Sentry.setUser({ id: "123", email: "usuario@exemplo.com" });
Sentry.setTag("ambiente", "producao");

try {
  throw new Error("Erro com contexto");
} catch (error) {
  Sentry.captureException(error);
}

Monitorar performance

O Sentry também pode monitorar a performance da sua aplicação.

ts
import * as Sentry from "@sentry/bun";

Sentry.init({
  dsn: "https://publicKey@o0.ingest.sentry.io/0",
  tracesSampleRate: 1.0,
});

const transaction = Sentry.startTransaction({ name: "minha-transacao" });

// Simular algum trabalho
await new Promise(resolve => setTimeout(resolve, 100));

transaction.finish();

Consulte a documentação do Sentry para Bun para documentação completa.

Bun by www.bunjs.com.cn edit