正在加载

事务

Elastic Stack Serverless

事务是一种特殊的 span,它们具有与之关联的附加属性。它们描述了由 Elastic APM 代理检测服务所捕获的事件。您可以将事务视为您在服务中测量的最高级别的工作。例如,事务可能是一个

  • 对您服务器的请求
  • 批处理作业
  • 后台作业
  • 自定义事务类型

代理决定是否对事务进行采样,并提供设置来控制采样行为。如果采样,则事务的 span 将作为单独的文档发送和存储。在一个事务中,可以捕获 0、1 或多个 span。

事务包含

  • 事件的时间戳

  • 唯一的 ID、类型和名称

  • 有关记录事件的环境的数据

    • 服务 - 环境、框架、语言等。
    • 主机 - 架构、主机名、IP 等。
    • 进程 - args、PID、PPID 等。
    • URL - 完整 URL、域名、端口、查询等。
    • 用户 -(如果提供)电子邮件、ID、用户名等。
  • 取决于代理的其他相关信息。示例:JavaScript RUM 代理捕获事务标记,这些标记是相对于事务开始时间的点,并带有一些标签。

此外,代理还为用户提供捕获自定义 元数据的选项。元数据可以被索引 - labels,或者不被索引 - custom

事务按其 typename 在应用程序 UI 的 事务概述 中进行分组。如果您使用的是受支持的框架,APM 代理将自动为您处理命名。如果您没有使用,或者您希望覆盖默认值,则所有代理都有 API 方法来手动设置 typename

  • type 应该是在服务领域中具有特定相关性的关键字,例如 requestbackgroundjob 等。
  • name 应该是在单个服务的范围内事务的通用指定,例如 GET /users/:idUsersController#show 等。
提示

大多数代理将关键字字段(例如 labels)限制为 1024 个字符,将非关键字字段(例如 span.db.statement)限制为 10,000 个字符。

事务与 span 存储在以下数据流中

  • 应用程序跟踪:traces-apm-<namespace>
  • RUM 和 iOS 代理应用程序跟踪:traces-apm.rum-<namespace>

请参阅 数据流 以了解更多信息。

此示例展示了在 Elasticsearch 中索引时事务文档可能是什么样子。

© . All rights reserved.