用途
该技能用于在项目中配置 Sentry 的性能监控(Tracing),以追踪事务与跨度。根据资料,当用户要求“启用追踪”或“添加性能监控”、希望追踪 API 响应时间、页面加载或延迟,或询问 tracesSampleRate、自定义 span 时,可调用此技能。
主要能力
技能按平台提供最低 SDK 版本、启用方式与自定义 Span 方式:
- JS/Browser:最低 SDK 9.0.0+,通过 tracesSampleRate 加 browserTracingIntegration() 启用,自定义 Span 使用 Sentry.startSpan()。
- Next.js:最低 SDK 9.0.0+,在每个运行时配置文件中设置 tracesSampleRate,自定义 Span 使用 Sentry.startSpan()。
- Node.js:最低 SDK 9.0.0+,使用 tracesSampleRate,自定义 Span 使用 Sentry.startSpan()。
- Python:最低 SDK 0.11.2+,使用 traces_sample_rate,自定义 Span 使用 @sentry_sdk.trace 或 start_span()。
- Ruby:最低 SDK 5.0.0+,使用 traces_sample_rate,自定义 Span 使用 Sentry.with_child_span()。
使用方式
JavaScript 初始化示例中设置 dsn、tracesSampleRate(1.0 表示 100%,生产环境建议调低)、integrations 中的 browserTracingIntegration()(仅浏览器/React)、以及 tracePropagationTargets。自定义 Span 支持异步操作与嵌套 span 写法,并给出动态采样 tracesSampler 示例,可根据名称包含 healthcheck 返回 0、包含 checkout 返回 1.0,否则调用 inheritOrSampleWith(0.1)。
Python 初始化示例设置 dsn 与 traces_sample_rate,自定义 Span 支持装饰器 @sentry_sdk.trace 与上下文管理器 start_span(name=..., op=...),并可通过 span.set_data 记录数据;动态采样使用 traces_sampler 函数,依据 transaction 名称、parent_sampled 等返回采样率。
Ruby 初始化示例设置 config.dsn 与 config.traces_sample_rate。
资料还列出常见操作类型(op):http.client(出站 HTTP)、http.server(入站 HTTP)、db / db.query(数据库)、cache(缓存操作)、queue.task(后台任务)、function(函数调用)。采样率建议按流量划分:开发环境 1.0;低流量(<1K 请求/分钟)0.5 - 1.0;中流量(1K-10K)0.1 - 0.5;高流量(>10K)0.01 - 0.1。分布式追踪方面,配置 tracePropagationTargets 以向 API 发送跟踪头;对于 Next.js 14 App Router 需在根布局中添加(Next.js 15+ 不需要)。验证方式是启用追踪后触发一次被追踪操作(如 HTTP 请求),在 Sentry Performance 仪表盘查看事务,自定义 span 应嵌套在父事务下。
适用场景
适用于需要为应用开启 Sentry 性能监控、测量 API 响应时间与页面加载延迟、追踪事务与跨度、配置采样率或动态采样、以及搭建分布式追踪的开发与运维场景。
限制
资料明确说明:其中的 SDK 版本、API 名称与代码示例均为示例,实施前应始终对照 docs.sentry.io 验证,因为 API 与最低版本可能已变更。资料未提供具体的收费、价格、平台支持范围之外的细节或完整使用步骤,相关内容暂未提供。