如需将跟踪记录数据发送到您的 Google Cloud 项目,您可以使用 Telemetry (OTLP) API或 Cloud Trace API。 Telemetry API 实现了 OpenTelemetry OTLP API,并为开源 OpenTelemetry 生态系统提供了更高的 兼容性和支持。Trace API 是一种专有 API,在支持 Telemetry API 之前就已存在。 Google Cloud Telemetry API 的限制通常比 Trace API 的限制更宽松。
Trace API 配额和限制
本部分提供的信息仅适用于 Trace API。本部分列出的配额和限制 不适用于 Telemetry API。
Cloud Trace 实行两种不同类型的配额: Cloud Trace API 请求的速率配额,以及发送给 Trace 的 span 的提取量配额。
配额
下表总结了读取和写入
操作可用的配额单元,以及 Trace API 提取 span 的每日配额。例如,
对于三个 API
命令 GetTrace、ListTraces 和 ListSpan,您每 60 秒总共可以执行 300 次操作。以下两个不同
示例说明了您可以如何使用全部可用配额单元。
- 每 60 秒进行 12 次
ListTracesAPI 调用。 - 每 60
秒进行 10 次
ListTracesAPI 调用和 50 次GetTraceAPI 调用。
| 类别 | 总配额单元数 |
|---|---|
| 读取操作1 | 每 60 秒 300 个 |
| 写入操作2 | 每 60 秒 4800 个 |
| Span 提取量3,4 | 每天 300 万 - 每天 50 亿 |
1 读取操作包括 GetTrace、ListTraces、
ListSpan。调用 ListTraces 会消耗 25 个配额单元。调用
GetTrace 会消耗 ListSpan 1 个配额单元。
2 写入操作包括 PatchTraces、BatchWrite、
和 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 调用的跟踪记录数上限 |
在 ROOTSPAN 和 MINIMAL 视图中为 1,000 在 COMPLETE 视图中为 100 |
| Span 名称的长度上限 | 128 个字节 |
| 每个 span 的标签或属性数上限 | 32 |
| 标签或属性键的大小上限 | 128 个字节 |
| 标签或属性值的大小上限 | 256 个字节 |
| 每个 span 的事件数上限 | 128 |
| 可提取 span 的过去时间戳上限 | 14 天 |
| 可提取 span 的未来时间戳上限 | 3 天 |
| 相对于 span 时间戳的事件过去时间戳上限 | 365 天 |
超出限制可能不会导致 API 调用失败并出现错误。 例如,当附加到 span 的属性数超过 32 时,系统不会报告错误。相反,在这种情况下, Cloud Trace API 会使用非确定性算法来选择 32 个属性进行注入。其余 属性将被舍弃。
Cloud Trace API 提供了有关
GetTrace、PatchTraces 和
ListTraces 端点的详细信息。
您如何为 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* 对象的属性数量上限包括附加到以下类型的子对象的属性: Resource、Span、ScopeSpans、Event 和 Link. |
8192 |
每个 Span* 对象的 Event* 对象数量上限 |
256 |
每个 Span* 对象的 Link* 对象数量上限 |
128 |
Event* 对象名称的大小上限 |
1024 个字节 |
每个 Event* 对象的属性数上限 |
1024 |
每个 Link* 对象的属性数上限 |
1024 |
| 架构网址的大小上限 | 8192 个字节 |
trace.proto 文件。
跟踪记录范围的限制
| 跟踪记录范围的限制 | 值 |
|---|---|
| 每个项目的跟踪记录范围数量上限 | 100 |
| 每个跟踪记录范围的项目数量上限 | 20 |
Trace 保留期限
| 类别 | 保留期限 |
|---|---|
| Cloud Trace 存储的 span 数据 | 30 天 |
_Trace 存储桶 |
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 提取量,请参阅创建超出配额的提醒 。