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

自托管Sentry中仅查看NodeJS(NestJS)自定义函数调用的配置方法

解决Sentry Profiling仅展示自定义NestJS方法的方案

UI层面快速过滤

  • 直接在Profiling的函数调用搜索框输入你的业务代码路径关键词,比如src/,就能快速筛掉第三方依赖的调用。
  • 找到右上角的过滤选项,打开"Frame Filters"勾选Hide Library Frames,如果没生效,说明Sentry没正确识别你的业务代码,得从应用端配置。

NestJS应用端配置(核心解决方法)

要让Sentry精准区分业务代码和第三方库,得在初始化时明确规则:

  1. 在app.module.ts的Sentry初始化代码里,指定业务代码目录并排除依赖:
import * as Sentry from '@sentry/nestjs';

Sentry.init({
  dsn: '你的Sentry DSN',
  profilesSampleRate: 1.0, // 确保采样率足够捕获数据
  include: ['**/src/**'], // 只包含src目录下的业务代码
  ignore: ['**/node_modules/**', '**/dist/**'], // 排除第三方依赖和编译产物
});
  1. 保留源映射,让Sentry关联编译后代码和原始业务代码,修改tsconfig.json:
{
  "compilerOptions": {
    "sourceMap": true,
    "inlineSources": true
  }
}
  1. 强制标记业务代码为应用内代码,解决"Application Frames"显示异常的问题:
Sentry.init({
  // 其他配置项
  rewriteFrames: {
    root: __dirname,
    iteratee: (frame) => {
      if (frame.filename?.includes('src/')) {
        frame.in_app = true; // 标记后会在Application Frames里展示
      }
      return frame;
    },
  },
});

额外提示

如果自托管Sentry版本够新,也可以直接在项目设置的Profiling板块,自定义"In-App Frames"的匹配规则,添加你的业务代码路径即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 09:42:13