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/bunConfigurar 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.