Span API

编辑

Span 用于测量单个事件的持续时间。创建 Span 后,它将测量直到调用span.end() 的时间。

要获取 Span 对象,需要调用 apm.startSpan()

span.name

编辑
  • 类型: 字符串
  • 默认值: Unknown

Span 的名称。这也可以通过 apm.startSpan() 设置。

span.type

编辑
  • 类型: 字符串
  • 默认值: custom

Span 的类型。这也可以通过 apm.startSpan() 设置。

类型是一个分层字符串,用于将类似的 Span 分组在一起。例如,所有传出的 AJAX 请求都被赋予类型 external.http

在上面的示例中,external 被认为是类型前缀。尽管此前缀没有命名限制,但在所有 Elastic APM 代理中,以下都是标准化的:appdbcachetemplateexternal

span.addLabels()

编辑
span.addLabels({ [name]: value })

在 Span 上添加多个标签。如果在 Span 期间发生错误,它也将被标记上相同的标签。

参数

  • name - 任何字符串。所有句点 (.)、星号 (*) 和双引号 (") 将被替换为下划线 (_) ,因为这些字符在 Elasticsearch 中具有特殊含义
  • value - 任何字符串、布尔值或数字。所有其他数据类型将在发送到 APM 服务器之前转换为字符串。

span.end()

编辑
span.end()

结束 Span。如果 Span 已经结束,则不会发生任何事情。