配额和限制

如需将跟踪数据发送到您的 Google Cloud 项目,您可以使用遥测 (OTLP) APICloud Trace API。Telemetry API 实现了 OpenTelemetry OTLP API,并为开源 OpenTelemetry 生态系统提供了更高的兼容性和支持。Trace API 是一种专有 Google Cloud API,在支持 Telemetry API 之前就已存在。针对 Telemetry API 的限制通常比针对 Trace API 的限制更宽松。

Trace API 配额和限制

本部分提供有关仅适用于 Trace API 的配额和限制的信息。本部分列出的配额和限制不适用于 Telemetry API。

Cloud Trace 实行两种不同类型的配额:Cloud Trace API 请求的速率配额,以及发送给 Trace 的 span 的提取量配额。

配额

下表总结了可用于读取和写入操作的配额单位,以及 Trace API 的每日 Span 提取量配额。例如,GetTraceListTracesListSpan 这三个 API 命令每 60 秒共可使用 300 个配额单元。以下两个不同示例说明了您可以如何使用全部可用配额单元。

  • 每 60 秒进行 12 次 ListTraces API 调用。
  • 每 60 秒进行 10 次 ListTraces API 调用和 50 次 GetTrace API 调用。
类别 总配额单元数
读取操作1 每 60 秒 300 个
写入操作次数2 每 60 秒 4800 个
提取的 span3 每天 300 万 - 每天 50 亿

1 读取操作包括 GetTraceListTracesListSpan。对 ListTraces 的调用会消耗 25 个配额单元。对 GetTrace 的调用会消耗 ListSpan 1 个配额单元。
2 写入操作包括 PatchTracesBatchWriteCreateSpan。每次写入操作消耗 1 个配额单位。
3 每日的跟踪记录 Span 提取量配额取决于结算账号历史记录和您申请增加的配额。

限制

下表列出了 Cloud Trace API 的限制。

说明
每次 GetTrace 调用的 Span 数上限 1000
每次 PatchTraces 调用的 Span 数上限 25000
每次 ListTraces 调用的跟踪记录数上限 1,000(在 ROOTSPANMINIMAL 视图中)
100(在 COMPLETE 视图中)
每个跟踪记录的 Span 数上限 1000
轨迹大小上限 50 MB
span 名称的长度上限 128 字节
每个 span 的标签或属性数上限 32
标签或特性的键的大小上限 128 字节
标签或特性的值的大小上限 256 字节
每个 span 的事件数上限 128
可提取 span 的最晚过去时间戳 14 天
可提取 span 的未来时间戳上限 3 天
事件相对于 span 时间戳的最大过去时间戳 365 天

超出限制可能不会导致 API 调用失败并返回错误。 例如,当附加到 span 的属性数量超过 32 时,系统不会报告错误。在这种情况下,Cloud Trace API 会使用不确定的算法来选择要注入的 32 个属性。其余属性会被舍弃。

Cloud Trace API 提供了有关 GetTracePatchTracesListTraces 端点的详细信息。

为 span 添加注释的方式取决于 Cloud Trace API 端点。如果您使用 batchWrite 端点,请将属性添加到 Span 对象。如果您使用 patchTraces 端点,请向 TraceSpan 对象添加标签。

Telemetry API 限制

本部分列出了仅在以下情况下适用的限制:使用 Telemetry API 来注入跟踪记录数据。Telemetry API 实现了 OpenTelemetry OTLP API,旨在与使用某个 OpenTelemetry SDK 进行插桩的应用搭配使用。本部分列出的限制不适用于 Cloud Trace API。

说明
属性键的大小上限 512 个字节
属性值的大小上限 64 KiB
Span* 对象名称的大小上限 1024 个字节
附加到 Span* 对象的属性数量上限 1024
每个 ResourceSpans* 对象的资源属性数量上限 1024
每个 ResourceSpan* 对象的属性数量上限
包括附加到以下类型的子对象的属性:
ResourceSpanScopeSpansEventLink.
8192
每个 Span* 对象的 Event* 对象数量上限 256
每个 Span* 对象的 Link* 对象数量上限 128
Event* 对象名称的大小上限 1024 个字节
每个 Event* 对象的属性数上限 1024
每个 Link* 对象的属性数上限 1024
架构网址的大小上限 8,192 个字节
*  如需了解此结构的定义,请参阅 OpenTelemetry trace.proto

跟踪范围的限制

跟踪范围的限制
每个项目的跟踪范围数量上限 100
每个跟踪记录范围的项目数量上限 20

Trace 保留期限

类别 保留期限
Cloud Trace 存储的 span 数据 30 天

管理配额

本部分介绍了如何申请更改配额以及如何监控配额用量。

请求更改 Cloud Trace API 配额

您可以使用Google Cloud 控制台请求增加或减少 Cloud Trace API 限额。 如需了解详情,请参阅查看和管理配额

如果出现错误 Edit is not allowed for this quota,您可以与支持团队联系,请求更改配额。另请注意,必须在Google Cloud 项目中启用结算功能才能点击这些复选框。

监控配额使用情况

为确保您不会用尽配额,导致无法了解应用性能,请务必批量更新并监控配额用量。例如,您可以创建一项提醒政策,以便在用量超出阈值时收到通知。如需详细了解如何监控 API 请求并了解其响应,请参阅监控 API 用量

  • 如需查看您的 Cloud Trace API 配额和每日 Span 提取量配额,请参阅查看和管理配额

  • 如需了解如何减少您使用的 API 配额单元数和每日 Span 提取量配额单元数,请参阅限制用量

  • 如需申请增加您的 API 配额单元或每日 Span 提取量配额,请参阅申请更高配额

  • 如需详细了解如何创建提醒政策来监控 Trace API 配额以及速率跟踪记录 Span 提取量,请参阅创建超出配额的提醒