You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

sentry-expo性能监控失效求助:React Native配置后无法运行

React Native + sentry-expo 性能监控排查方案

针对你使用sentry-expo ^4.0.5配置性能监控但无法正常工作的问题,按以下步骤逐一排查:

  • 确认Sentry后台配置
    登录Sentry后台,检查对应项目是否已开启性能监控(项目设置 > 性能 > 确保“启用性能监控”开关开启),同时确认DSN地址与代码中config.sentry完全一致,无拼写或格式错误。

  • 检查开发环境限制
    sentry-expo的ReactNativeTracing依赖原生集成,Expo Go客户端对Native集成支持有限。如果是在Expo Go中测试,尝试使用EAS Build生成自定义开发客户端后再测试性能监控功能,这是Expo环境下启用Sentry Native特性的必要步骤。

  • 验证tracingOrigins配置
    当前配置的tracingOrigins包含了localhost、指定ngrok地址、根路径和所有http请求,但需注意:

    • 若你的应用有https请求,需添加/^https:\/\//正则到列表中
    • 确保实际发起的请求域名/路径完全匹配列表中的规则,可通过console.log打印请求URL,核对是否在追踪范围内
  • 检查初始化时机
    确保Sentry初始化代码位于App组件的最顶部,在任何其他业务代码或第三方库初始化之前执行,避免因异步逻辑或延迟加载导致初始化不完整。

  • 手动触发事务验证
    添加手动事务代码测试是否能正常上报:

    const transaction = Sentry.startTransaction({ name: 'test-transaction' });
    // 模拟业务逻辑
    setTimeout(() => {
      transaction.finish();
    }, 1000);
    

    执行后查看Sentry后台的性能面板,若能看到该测试事务,说明基础性能监控功能正常,问题可能出在自动追踪的配置上。

  • 排查版本兼容性问题
    sentry-expo 4.0.5可能存在已知的性能监控bug,尝试升级到4.x分支的最新版本(如4.1.2),执行命令:

    expo install sentry-expo@^4.1.2
    

    升级后重新初始化并测试。

  • 确认网络请求自动追踪
    sentry-expo默认会自动拦截fetch和XMLHttpRequest请求,但如果使用了自定义网络库(如axios),需要手动配置拦截器:

    // 以axios为例
    axios.interceptors.request.use(config => {
      Sentry.addBreadcrumb({
        category: 'http',
        data: { url: config.url },
        type: 'http_request'
      });
      return config;
    });
    
    axios.interceptors.response.use(response => {
      Sentry.addBreadcrumb({
        category: 'http',
        data: { url: response.config.url, status: response.status },
        type: 'http_response'
      });
      return response;
    });
    

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 16:25:29