配额和限制

如需将跟踪记录数据发送到您的 Google Cloud 项目,您可以使用 Telemetry (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 个
Span 提取量3、4 每天 300 万 - 每天 50 亿

1 读取操作包括 GetTraceListTracesListSpan。调用 ListTraces 会消耗 25 个配额单元。调用 GetTrace 会消耗 ListSpan 1 个配额单元。在控制台 Google Cloud 中使用 Trace 探索器 查询和查看跟踪记录 不会消耗 此配额。
2 写入操作包括 PatchTracesBatchWrite、 和 CreateSpan。每次写入操作消耗 1 个配额单元。
3 此配额仅适用于使用 Cloud Trace API 提取的 span。 通过 Telemetry API 进行提取不受限制。 4 Cloud Trace API 的每日跟踪记录 span 提取量配额 取决于您的结算账号历史记录以及您提出的配额 增加请求。

限制

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

说明
每次 GetTrace 调用的 span 数上限 10,000
每次 PatchTraces 调用的 span 数上限 25000
每次 ListTraces 调用的跟踪记录数上限 ROOTSPANMINIMAL 视图中为 1,000
COMPLETE 视图中为 100
span 名称的长度上限 1024 个字节
每个 span 的标签或属性数上限 1024
标签或属性键的大小上限 512 个字节
标签或属性值的大小上限 65,532 个字节
每个 span 的事件数上限 256
span 可提取的过去时间戳上限 14 天
span 可提取的未来时间戳上限 3 天
相对于 span 时间戳的事件过去时间戳上限 365 天

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

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 限制。
架构网址的大小上限 8192 个字节 限制。
每分钟的跟踪记录提取字节数上限

对于以下区域,为 2.4 GB:asia-east1, asia-northeast1, asia-southeast1, asia-south1, europe-west1, europe-west2, europe-west3, europe-west4, us-central1, us-east4, us-west1

对于所有其他区域,为 300 MB。

配额。
*  如需了解此结构的定义,请参阅 trace.proto 文件。

跟踪记录范围的限制

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

Trace 保留期限

类别 保留期限
存储在 _Trace 存储桶中 30 天

管理您的配额

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

请求更改 Cloud Trace API 配额

如需确定是否可以使用 Google Cloud 控制台请求增加或减少 Cloud Trace API 配额 ,请前往配额和系统限制 页面,然后搜索您感兴趣的配额。

  • 如果列出了配额,您可以使用该页面请求更改限制。如需了解相关步骤,请参阅 查看和管理配额
  • 如果未列出配额,或者您请求更新配额并收到错误 Edit is not allowed for this quota,请 与支持团队联系并 请求更改配额。您必须为 Google Cloud 项目启用结算功能,才能在 Google Cloud 控制台中修改配额。

监控配额用量

为确保配额不会用尽,并且能够了解应用性能的可观测性,请验证您是否批量更新并监控配额用量。例如,您可以创建一项提醒政策,以便在用量超出阈值时收到通知。 如需详细了解如何监控 API 请求并 了解其响应,请参阅 监控 API 用量

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

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

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

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

大量查询

如需大量查询跟踪记录数据,请创建关联的 BigQuery 数据集,然后使用 BigQuery API。

请勿使用 Cloud Trace API 进行大量查询,因为对 Trace API 的调用会受到速率限制。