トレースデータを Google Cloud プロジェクトに送信するには、Telemetry(OTLP)API または Cloud Trace API を使用します。Telemetry API は OpenTelemetry OTLP API を実装しており、オープンソースの OpenTelemetry エコシステムとの互換性とサポートを強化しています。Trace API は、Telemetry API のサポートより前からある独自の Google Cloud API です。Telemetry API の上限は、Trace API よりも柔軟なことがよくあります。
Trace API の割り当てと上限
このセクションでは、Trace API にのみ適用される割り当てと上限について説明します。このセクションに記載されている割り当てと上限は、Telemetry API には適用されません。
Cloud Trace では、Cloud Trace API リクエストに対するレートに基づく割り当てと、Trace に送信するスパンに対する取り込み割り当ての 2 種類の割り当てが適用されます。
割り当て
次の表に、読み取りオペレーションと書き込みオペレーションで使用可能な割り当てユニットと、Trace API のスパン取り込みの 1 日あたりの割り当てをまとめます。たとえば、GetTrace、ListTraces、ListSpan の 3 つの API コマンドについて 60 秒あたり合計 300 であるとします。たとえば以下のような使い方をすると、使用可能な割り当てユニットがすべて消費されます。
- 60 秒あたり 12 回の
ListTracesAPI 呼び出しを行う。 - 60 秒あたり 10 回の
ListTracesAPI 呼び出しと 50 回のGetTraceAPI 呼び出しを行う。
| カテゴリ | 総割り当てユニット数 |
|---|---|
| 読み取りオペレーション1 | 60 秒あたり 300 個 |
| 書き込みオペレーション2 | 60 秒あたり 4,800 個 |
| 取り込みスパン数3,4 | 1 日あたり 3,000,000~5,000,000,000 個 |
1 読み取りオペレーションには、GetTrace、ListTraces、ListSpan が含まれます。ListTraces の呼び出しでは、25 割り当てユニットを消費します。GetTrace の呼び出しでは、ListSpan 1 割り当てユニットを消費します。
2 書き込みオペレーションには、PatchTraces、BatchWrite、CreateSpan があります。書き込みオペレーションごとに 1 割り当てユニットを消費します。
3 この割り当ては、Cloud Trace API を使用して取り込まれたスパンにのみ適用されます。Telemetry API を介した取り込みは制限されません。4 Cloud Trace API の 1 日あたりのトレーススパン取り込みの割り当ては、請求先アカウントの履歴と、割り当て量増加のリクエストによって決まります。
上限
次の表に、Cloud Trace API の上限を示します。
| 説明 | 値 |
|---|---|
GetTrace 呼び出しあたりの最大スパン数 |
10,000 |
PatchTraces 呼び出しあたりの最大スパン数 |
25,000 |
ListTraces 呼び出しあたりの最大トレース数 |
ROOTSPAN ビューと MINIMAL ビューでは 1,000COMPLETE ビューでは 100 |
| スパン名の最大長 | 128 バイト |
| スパンあたりのラベルまたは属性の最大数 | 32 |
| ラベルまたは属性のキーの最大サイズ | 128 バイト |
| ラベルまたは属性の値の最大サイズ | 256 バイト |
| スパンあたりの最大イベント数 | 128 |
| 取り込まれるスパンの過去のタイムスタンプの最大値 | 14 日 |
| 取り込まれるスパンの将来のタイムスタンプの最大値 | 3 日 |
| スパンのタイムスタンプを基準としたイベントの過去のタイムスタンプの最大値 | 365 日 |
上限を超えても、API 呼び出しがエラーで失敗するとは限りません。たとえば、スパンに付加された属性の数が 32 を超えても、エラーは報告されません。代わりに、このシナリオでは、Cloud Trace API は非決定論的アルゴリズムを使用して、取り込む 32 個の属性を選択します。残りの属性は破棄されます。
Cloud Trace API は、GetTrace、PatchTraces、ListTraces エンドポイントの詳細を提供します。
スパンに注釈を付ける方法は、Cloud Trace API エンドポイントによって異なります。batchWrite エンドポイントを使用する場合は、Span オブジェクトに属性を追加します。patchTraces エンドポイントを使用する場合は、TraceSpan オブジェクトにラベルを追加します。
Telemetry API の上限と割り当て
このセクションでは、Telemetry API を使用してトレースデータを取り込む場合にのみ適用される上限について説明します。OpenTelemetry OTLP API を実装する Telemetry API は、OpenTelemetry SDK のいずれかを使用して計測されたアプリケーションで使用するように設計されています。このセクションに記載されている上限は、Cloud Trace API には適用されません。
| 説明 | 値 | 注 |
|---|---|---|
| 属性キーの最大サイズ | 512 バイト | 上限。 |
| 属性値の最大サイズ | 64 KiB | 上限。 |
Span* オブジェクト名の最大サイズ |
1,024 バイト | 上限。 |
Span* オブジェクトに添付できる属性の最大数 |
1024 | 上限。 |
ResourceSpans* オブジェクトあたりのリソース属性の最大数 |
1024 | 上限。 |
ResourceSpan* オブジェクトあたりの属性の最大数次のタイプの子オブジェクトに適用される属性が含まれます。 Resource、Span、ScopeSpans、Event、Link. |
8192 | 上限。 |
Span* オブジェクトあたりの Event* オブジェクトの最大数 |
256 | 上限。 |
Span* オブジェクトあたりの Link* オブジェクトの最大数 |
128 | 上限。 |
Event* オブジェクト名の最大サイズ |
1,024 バイト | 上限。 |
Event* オブジェクトあたりの属性の最大数 |
1024 | 上限。 |
Link* オブジェクトあたりの最大属性数 |
1024 | 上限。 |
| スキーマ URL の最大サイズ | 8192 バイト | 上限。 |
| 1 分あたりのトレース取り込みバイト数の最大値 | 次の地域では 2.4 GB: その他のすべてのリージョンでは 300 MB。 |
割り当て。 |
trace.proto ファイルをご覧ください。トレース スコープの上限
| トレース スコープの上限 | 値 |
|---|---|
| プロジェクトあたりのトレース スコープの最大数 | 100 |
| トレース スコープあたりの最大ビュー数 | 20 |
トレースの保持期間
| カテゴリ | 保持期間 |
|---|---|
| Cloud Trace によって保存されるスパンデータ | 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 と 1 日あたりのスパン取り込み割り当てを表示するには、割り当ての表示と管理をご覧ください。
API 割り当てユニットと 1 日あたりのスパン取り込み割り当てユニットを削減する方法については、使用量の上限をご覧ください。
API 割り当てユニットや 1 日あたりのスパン取り込み割り当ての引き上げをリクエストするには、割り当ての増加をリクエストするをご覧ください。
Trace API 割り当てやレート トレース スパン取り込み量をモニタリングするアラート ポリシーの作成について、詳しくは割り当て超過アラートの作成をご覧ください。