性能指标

了解如何将性能指标附加到您的事务中。

Sentry 的 SDK 支持将性能指标数据发送到 Sentry。这些是附加到事务中的数值,将在 Sentry 中聚合并显示。

JavaScript 浏览器 SDK 自动收集以下性能指标:

  • 首次绘制:fp
  • 首次内容绘制:fcp
  • 最大内容绘制:lcp
  • 首次输入延迟:fid
  • 累积布局偏移:cls
  • 首字节时间:ttfb
  • 首字节请求时间:ttfb.requesttime

除了自动性能指标外,SDK 还支持在事务中设置 自定义性能测量。这使您可以定义对应用程序重要的测量,并将它们发送到 Sentry。

要设置性能测量,您需要提供以下内容:

  • 名称 (string)
  • 值(任何数值类型,如 floatinteger 等)
  • 单位 (string,如果省略,默认为字符串 none

Sentry 支持添加任意自定义单位,但我们建议使用以下列出的 支持的单位

在 Sentry 的 JavaScript SDK 版本 7.0.0 及以上版本中支持添加自定义测量值。

Copied
// Record amount of memory used
Sentry.setMeasurement("memoryUsed", 123, "byte");

// Record time when Footer component renders on page
Sentry.setMeasurement("ui.footerComponent.render", 1.3, "second");

// Record amount of times localStorage was read
Sentry.setMeasurement("localStorageRead", 4);

目前,单位转换仅在数据已经存储后才支持。这意味着,例如,('myMeasurement', 60, 'second')('myMeasurement', 3, 'minute') 不会被聚合, 而是作为两个单独的测量值存储。为了避免这种情况,在记录自定义测量时,请确保使用一致的单位。

单位通过赋予数值具体意义,使原本可能抽象的数字变得有意义。添加单位还允许 Sentry 提供基于这些单位的控制功能,如单位转换、过滤等。对于无单位的值,您可以提供空字符串或 none

  • nanosecond(纳秒)
  • microsecond(微秒)
  • millisecond(毫秒)
  • second(秒)
  • minute(分钟)
  • hour(小时)
  • day(天)
  • week(周)

  • bit(比特)
  • byte(字节)
  • kilobyte(千字节)
  • kibibyte(基字节)
  • megabyte(兆字节)
  • mebibyte(米字节)
  • gigabyte(吉字节)
  • gibibyte(吉字节)
  • terabyte(太字节)
  • tebibyte(拍字节)
  • petabyte(拍字节)
  • pebibyte(拍字节)
  • exabyte(艾字节)
  • exbibyte(艾字节)

  • ratio(比率)
  • percent(百分比)

如果您想进一步了解,可以在我们的 事件摄入文档 中找到支持单位的详细信息。