Sentry 是一个 开源的错误追踪(Error Tracking)平台,主要用于实时捕获和监控应用程序中的异常、错误日志,并帮助开发者快速定位问题根源。
自动捕获异常
console.error
、未处理的 Promise 异常、未捕获的异常等。上下文信息记录
多平台支持
@sentry/vue
, @sentry/browser
, @sentry/node
等。事件聚合与报警
性能监控(Performance Monitoring)
自托管 & 云端服务
import * as Sentry from '@sentry/vue';
Sentry.init({
app,
dsn: 'https://[email protected]/0',
integrations: [
new Sentry.BrowserTracing(),
new Sentry.Replay(),
],
tracesSampleRate: 1.0, // 控制性能数据采样率
replaysSessionSampleRate: 0.1, // 控制会话录制采样率
});
如果你有具体的技术栈(如 Vue、Spring Boot、Node.js),我可以提供对应的集成示例。
你遇到的错误是 Sentry 接口返回 429 Too Many Requests,表示你的请求频率超过了 Sentry 的限流阈值。以下是可能的原因和解决方案:
客户端频繁上报日志
@sentry/vue
或 @sentry/browser
配置不当,导致短时间内大量日志上报。Sentry 配额限制
网络或前端异常风暴
import * as Sentry from '@sentry/vue';
Sentry.init({
dsn: 'YOUR_SENTRY_DSN',
// 控制上报比例,比如只上报 30% 的事件
sampleRate: 0.3,
});
Sentry.init({
dsn: 'YOUR_SENTRY_DSN',
beforeSend(event, hint) {
// 忽略某些不重要的错误
if (event.level !== 'error') return null;
return event;
},
});
Network
面板中 /envelope/
请求的数量是否减少。autoSessionTracking: false