SuperAPI AI 工具集

sentry-performance-monitoring

部署与运维

查看项目

更新于 10-16 03:57

技能介绍

Sentry - Performance Monitoring 技能用于在应用中启用和配置 Sentry 的性能监控能力,通过事务(transactions)、跨度(spans)和分布式追踪来跟踪应用性能。

用途

在设置性能监控、分布式追踪或使用 Sentry 进行性能剖析(profiling)时使用。该技能覆盖事务、跨度和性能洞察相关内容。

启用性能监控

在浏览器端使用 @sentry/browser 初始化,设置 dsn、tracesSampleRate(例如 0.2 表示采样 20% 的事务),并加入 browserTracingIntegration 集成。

事务(Transactions)

支持自动事务:例如浏览器端的页面加载与导航,通过 browserTracingIntegration 并配置 tracePropagationTargets 来指定追踪传播目标。也支持手动事务:通过 Sentry.startTransaction 创建,可设置 op 和 name,在成功时 setStatus("ok")、异常时 setStatus("internal_error"),最后在 finally 中 finish()。

跨度(Spans)

可在事务中创建子跨度,记录操作类型(op)与描述。示例中创建 validation 与 payment 两个跨度,分别包裹校验购物车和处理支付的操作,各自完成后调用 finish(),最后结束事务。跨度还可附带数据(data),例如记录 db.system 和 db.name 等数据库信息。

分布式追踪

前端通过 browserTracingIntegration 与 tracePropagationTargets 配置后,会自动添加 sentry-trace 与 baggage 请求头。后端可继续追踪上下文,例如在 Express.js 中使用 Sentry.Handlers.requestHandler() 与 Sentry.Handlers.tracingHandler(),事务会根据传入的请求头自动延续。

采样(Sampling)

支持静态采样:通过 tracesSampleRate 设置,例如 0.1 表示采样 10% 的事务。也支持动态采样:使用 tracesSampler 回调,可根据上下文返回采样率,例如对父级采样决定沿用 parentSampled、对 /checkout 端点返回 1.0、对 /health 返回 0、其它默认返回 0.1。

Web Vitals

使用 browserTracingIntegration 时会自动捕获 LCP、FID、CLS、FCP、TTFB 等指标;可通过 enableLongTask: true 追踪长任务。

自定义指标(Custom Metrics)

可通过 Sentry.metrics 记录自定义指标,包括 increment(计数,可带 tags)、distribution(分布,可带 unit 和 tags)、gauge(仪表,如活跃用户数)、set(集合,如唯一访客 ID)。

Profiling

Node.js 端可结合 @sentry/profiling-node 的 nodeProfilingIntegration,设置 tracesSampleRate 与 profilesSampleRate(示例中均为 1.0)来启用性能剖析。

最佳实践

从低采样率开始,按需提高;对重要事务使用动态采样;向所有服务传播追踪上下文;为跨度添加有意义的描述;跟踪业务关键用户流程;使用自定义指标记录业务 KPI;对性能关键的代码启用 profiling。

限制

除上述示例配置外,关于该技能的具体依赖版本、平台支持范围、收费与价格、性能影响等事实,资料中暂未提供。