- JSON 表現
- ReportRequest
- オペレーション
- MetricValueSet
- MetricValue
- 分布
- LinearBuckets
- ExponentialBuckets
- ExplicitBuckets
- エグザンプラ
- Money
- LogEntry
- HttpRequest
- LogEntryOperation
- LogEntrySourceLocation
- QuotaProperties
- ResourceInfo
- TraceSpan
- TruncatableString
- 属性
- AttributeValue
Eventstream を介して請求リクエストを報告するためのメッセージ。
| JSON 表現 |
|---|
{
"reportRequests": [
{
object ( |
| フィールド | |
|---|---|
reportRequests[] |
cloud.eventstream.v2.ResourceEvent で報告される課金リクエスト |
ReportRequest
services.report メソッドに対するリクエスト メッセージ。
| JSON 表現 |
|---|
{
"serviceName": string,
"operations": [
{
object ( |
| フィールド | |
|---|---|
serviceName |
サービス設定で指定されているサービス名。例: サービス名の定義については、google.api.Service をご覧ください。 |
operations[] |
報告対象となるオペレーション。 通常、サービスではリクエストごとに 1 つのオペレーションを報告する必要があります。1 つのリクエストに複数のオペレーションを組み込むことも可能ですが、報告時に複数のオペレーションが存在しても不自然でない場合だけにしてください。 同じ ReportRequest 内のオペレーションの数に上限はありませんが、ReportRequest のサイズは 1 MB 以下にする必要があります。部分的な障害の動作については、 |
serviceConfigId |
リクエストの処理に使用するサービス設定のバージョンを指定します。 未指定か一致するバージョンが見つからない場合は、最新のバージョンが使用されます。 |
オペレーション
オペレーションに関する情報を表します。
| JSON 表現 |
|---|
{ "operationId": string, "operationName": string, "consumerId": string, "startTime": string, "endTime": string, "labels": { string: string, ... }, "metricValueSets": [ { object ( |
| 項目 | |
|---|---|
operationId |
オペレーションの ID。オペレーションを生成したサービスのスコープ内で一意である必要があります。services.check() と services.report() を同じオペレーションに対して呼び出す場合、この 2 つの呼び出しでは同じ ID を使用する必要があります。 UUID バージョン 4 をおすすめしますが、必須ではありません。既存の情報からオペレーションを計算し、重複を除外するためべき等 ID を使用するのが適切である場合には、UUID バージョン 5 をおすすめします。詳しくは、RFC 4122 をご覧ください。 |
operationName |
オペレーションの完全修飾名。将来の使用のために予約。 |
consumerId |
サービスを使用しているユーザーの ID。この項目は、ユーザーが開始したオペレーションに対しては入力しますが、サービスによって開始され、特定のユーザーには関連しないオペレーションに対しては入力しません。
|
startTime |
必須。オペレーションの開始時刻。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
endTime |
オペレーションの終了時刻。オペレーションが RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
labels |
オペレーションを表すラベル。次のラベルのみを使用できます。
|
metricValueSets[] |
該当するオペレーションに関する情報を表します。各 MetricValueSet はサービス設定で定義されている指標に対応しています。MetricValueSet で使用されるデータ型は、指標定義で指定されているデータ型と一致する必要があります。 1 つのオペレーション内で、同じ指標名および同じラベル値の組み合わせを持つ複数の MetricValue インスタンスを扱うことはできません。リクエストにこのような重複した MetricValue インスタンスが含まれていると、引数無効エラーが発生し、リクエスト全体が拒否されます。 |
logEntries[] |
ログに記録される情報を表します。 |
quotaProperties |
割り当てチェックに必要なプロパティを表します。このオペレーションが割り当てチェック リクエストの場合にのみ適用されます。指定しない場合、割り当てチェックは実行されません。 |
importance |
使用しないでください。これは試験運用版のフィールドです。 |
userLabels |
限定公開プレビュー。この機能は、承認済みのサービスでのみ使用できます。 このオペレーションに関連付けられているリソースのユーザー定義ラベル。
|
resources[] |
オペレーションに関与するリソース。このフィールドでサポートされるエントリの最大数は 100 です。 |
traceSpans[] |
未実装。Cloud Trace スパンのリスト。スパン名には、宛先プロジェクトの ID(プロデューサー プロジェクトまたはコンシューマー プロジェクト)が含まれます。 |
MetricValueSet
同じ指標に属する指標値のセットを表します。セット内の各指標値は、開始時刻、終了時刻、ラベルを組み合わせた一意の値を持つ必要があります。
| JSON 表現 |
|---|
{
"metricName": string,
"metricValues": [
{
object ( |
| フィールド | |
|---|---|
metricName |
サービス構成で定義された指標名。 |
metricValues[] |
この指標の値。 |
MetricValue
単一の指標値を表します。
| JSON 表現 |
|---|
{ "labels": { string: string, ... }, "startTime": string, "endTime": string, // Union field |
| 項目 | |
|---|---|
labels |
指標値を表すラベル。オーバーライド関係については、
|
startTime |
該当する指標値の測定が適用される期間の開始。指標の意味は、指標のタイプ(累積、デルタ、ゲージ)によって異なります。詳細については、サービス構成の指標定義ドキュメントをご覧ください。指定しない場合は、 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
endTime |
この指標値の測定が適用される期間の終了。指定しない場合は、 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
共用体フィールド value。値です。リクエストで使用される値の型は、サービス構成の指標定義と一致している必要があります。一致していない場合、MetricValue は拒否されます。value は次のいずれかになります。 |
|
boolValue |
ブール値。 |
int64Value |
符号付き 64 ビット整数値。 |
doubleValue |
倍精度浮動小数点値。 |
stringValue |
テキスト文字列値。 |
distributionValue |
分布値。 |
moneyValue |
金銭の値。 |
分布
Distribution は 2 値サンプル点の頻度分布を表します。これには、サンプル点の母集団の規模に加え、次に示すオプションの追加情報が含まれています。
- サンプルの算術平均
- サンプルの最小値と最大値
- 分散を計算するために使用されるサンプルの偏差平方和
- サンプル点の値のヒストグラム
| JSON 表現 |
|---|
{ "count": string, "mean": number, "minimum": number, "maximum": number, "sumOfSquaredDeviation": number, "bucketCounts": [ string ], "exemplars": [ { object ( |
| フィールド | |
|---|---|
count |
分布内のサンプル数の合計。0 以上である必要があります。 |
mean |
分布内のサンプルの算術平均。 |
minimum |
値の母集団の最小値。 |
maximum |
値の母集団の最大値。 |
sumOfSquaredDeviation |
平均値からの偏差平方和: Sum[i=1..count]((x_i - mean)^2)。各 x_i はサンプル値です。 |
bucketCounts[] |
各ヒストグラム バケット内のサンプル数。 バケットは、以下の 末尾の 0 のサフィックスは省略してもかまいません。 |
exemplars[] |
ポイントの例。 |
共用体フィールド バケットには [0, N] の範囲で番号が付けられ、バケットの合計数は N+1 個になります。バケットは 2 つ以上必要です(単一バケットのヒストグラムでは、 最初のバケットは下限が無限(-inf)のアンダーフロー バケットです。最後のバケットは上限が無限(+inf)のオーバーフロー バケットです。その他のバケット(存在する場合)はすべて、下限と上限が有限であることから、「有限」バケットと呼ばれます。下記のとおり、有限バケットは 3 つの方法で定義できます。 (1)幅が一定のバケット。(2)幅が指数関数的に増大するバケット。(3)ユーザーが任意に幅を指定するバケット。 いずれの場合も、バケットは実数行全体(-inf、+inf)をカバーしています。バケットの上限は含まれず、下限は含まれます。アンダーフロー バケットの上限は、最小の有限バケットの下限と同じです。オーバーフロー バケットの下限は、最大の有限バケットの上限と同じです。 |
|
linearBuckets |
一定の幅のバケット。 |
exponentialBuckets |
幅が指数関数的に増加するバケット。 |
explicitBuckets |
ユーザーが指定した任意の幅のバケット。 |
LinearBuckets
幅が一定のバケットを表します。
| JSON 表現 |
|---|
{ "numFiniteBuckets": integer, "width": number, "offset": number } |
| フィールド | |
|---|---|
numFiniteBuckets |
有限バケットの数。アンダーフロー バケットとオーバーフロー バケットを含めると、バケットの合計数は |
width |
i 番目の線形バケットは、[offset + (i-1) * width, offset + i * width) の間隔をカバーします。ここで、i は 1 から numFiniteBuckets までの範囲(両端を含む)です。真に正である必要があります。 |
offset |
i 番目の線形バケットは、[offset + (i-1) * width, offset + i * width) の間隔をカバーします。ここで、i は 1 から numFiniteBuckets までの範囲(両端を含む)です。 |
ExponentialBuckets
幅が指数関数的に増大するバケットを表します。
| JSON 表現 |
|---|
{ "numFiniteBuckets": integer, "growthFactor": number, "scale": number } |
| フィールド | |
|---|---|
numFiniteBuckets |
有限バケットの数。アンダーフロー バケットとオーバーフロー バケットを含めると、バケットの合計数は |
growthFactor |
i 番目の指数バケットは、[scale * growthFactor^(i-1), scale * growthFactor^i) の間隔をカバーします。ここで、i は 1 から numFiniteBuckets までの範囲です。1.0 より大きくする必要があります。 |
scale |
i 番目の指数バケットは、[scale * growthFactor^(i-1), scale * growthFactor^i) の間隔をカバーします。ここで、i は 1 から numFiniteBuckets までの範囲です。0 より大きくする必要があります。 |
ExplicitBuckets
ユーザーが任意に幅を指定するバケットを表します。
| JSON 表現 |
|---|
{ "bounds": [ number ] } |
| 項目 | |
|---|---|
bounds[] |
「bound」はバケット間の狭義単調増加境界のリストです。植木算になるので、N 個のバケットを定義するには長さ N-1 を使用することに注意してください。詳しくは、 i 番目の有限バケットは区間 [bound[i-1], bound[i]] をカバーしています。i の範囲は 1~bound_size() - 1 です。「bound」の要素が 1 つのみの場合、有限バケットはまったく存在しないことに留意してください。このような特殊なケースでは、1 つの bound でアンダーフロー バケットとオーバーフロー バケットの間の境界を定義します。 バケット番号 下限 上限 i == 0(アンダーフロー)-inf bound[i] 0 < i < bound_size() bound[i-1] bound[i] i == bound_size()(オーバーフロー)bound[i-1] +inf |
エグザンプラ
エグザンプラは、集計された分布値にアノテーションを付けるために使用できるサンプル ポイントです。これらは、値が追加されたときにアクティブだったトレース ID など、分布バケットに追加された特定の値に関する情報を提供するメタデータです。サンプル値、タイムスタンプ、送信元などの追加情報が含まれる場合があります。
| JSON 表現 |
|---|
{ "value": number, "timestamp": string, "attachments": [ { "@type": string, field1: ..., ... } ] } |
| フィールド | |
|---|---|
value |
エグザンプラ ポイントの値。この値は、エグザンプラがどのバケットに属するかを決定します。 |
timestamp |
上記の値の観測(サンプリング)時間。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
attachments[] |
サンプル値に関するコンテキスト情報。例: トレース: type.googleapis.com/google.monitoring.v3.SpanContext リテラル文字列: type.googleapis.com/google.protobuf.StringValue 集計中にドロップされたラベル: type.googleapis.com/google.monitoring.v3.DroppedLabels 1 つのメッセージの種類につき、1 つのエグザンプラに 1 つのアタッチメントしか存在できません。これはシステムによって強制されます。 任意の型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド |
金額
金額をその通貨タイプで表します。
| JSON 表現 |
|---|
{ "currencyCode": string, "units": string, "nanos": integer } |
| フィールド | |
|---|---|
currencyCode |
ISO 4217 で定義されている 3 文字の通貨コード。 |
units |
金額の整数部分。たとえば、 |
nanos |
金額の小数部分をナノ(10^-9)単位で表した数。値は -999,999,999 以上 +999,999,999 以下でなければなりません。 |
LogEntry
個々のログエントリです。
| JSON 表現 |
|---|
{ "name": string, "timestamp": string, "severity": enum ( |
| フィールド | |
|---|---|
name |
必須。該当するログエントリが属するログ。例: |
timestamp |
ログエントリが表すイベントの発生日時。省略した場合、オペレーションの開始時刻がデフォルト値として設定されます。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
severity |
ログエントリの重大度。デフォルト値は |
httpRequest |
省略可。このログエントリに関連付けられた HTTP リクエストに関する情報(該当する場合)。 |
trace |
省略可。ログエントリに関連するリソースの名前(存在する場合)。このフィールドに相対リソース名が含まれている場合、名前は |
insertId |
重複除去に使用されるログエントリの一意の ID。省略した場合、実装では operationId に基づいて ID が生成されます。 |
labels |
ログエントリに関する追加情報を提供するユーザー定義データ(キーと値)のセット。
|
operation |
省略可。このログエントリに関連付けられた操作に関する情報(該当する場合)。 |
sourceLocation |
省略可。ログエントリに関連するソースコードの位置情報(存在する場合)。 |
共用体フィールド payload。ログエントリのペイロード。複数のタイプのいずれかになります。payload は次のいずれかになります。 |
|
protoPayload |
ログエントリのペイロードを表すプロトコル バッファを JSON オブジェクトで記述したもの。現在、受け入れられるタイプは 任意のデータ型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド |
textPayload |
ログエントリのペイロードを表す Unicode 文字列(UTF-8)。 |
structPayload |
ログエントリのペイロードを表す構造体を JSON オブジェクトで記述したもの。 |
HttpRequest
HTTP リクエストをロギングするための共通プロトコルです。HTTP 仕様で定義された意味のみが含まれます。プロダクト固有のログ情報は、別のメッセージで定義する必要があります。
| JSON 表現 |
|---|
{ "requestMethod": string, "requestUrl": string, "requestSize": string, "status": integer, "responseSize": string, "userAgent": string, "remoteIp": string, "serverIp": string, "referer": string, "latency": string, "cacheLookup": boolean, "cacheHit": boolean, "cacheValidatedWithOriginServer": boolean, "cacheFillBytes": string, "protocol": string } |
| フィールド | |
|---|---|
requestMethod |
リクエスト メソッド。例: |
requestUrl |
リクエストされた URL のスキーム(http、https)、ホスト名、パス、クエリ部分。例: |
requestSize |
HTTP リクエスト メッセージのバイトサイズ(各リクエスト ヘッダーと、リクエスト ボディを含む)。 |
status |
レスポンスのステータスを示すレスポンス コード。例: 200, 404 |
responseSize |
クライアントに返された HTTP レスポンス メッセージのバイトサイズ(各レスポンス ヘッダーと、レスポンス ボディを含む)。 |
userAgent |
クライアントが送信したユーザー エージェント。例: |
remoteIp |
HTTP リクエストを発行したクライアントの IP アドレス(IPv4 または IPv6)。 例: |
serverIp |
リクエストが送信された配信元サーバーの IP アドレス(IPv4 または IPv6)。 |
referer |
リクエストのリファラー URL(HTTP/1.1 Header Field Definitions で規定されている)。 |
latency |
サーバー上でのリクエスト処理のレイテンシ。サーバーがリクエストを受信してからレスポンスを送信するまでの時間です。
|
cacheLookup |
キャッシュ検索を試行したかどうか。 |
cacheHit |
キャッシュ内のエンティティを利用したかどうか(検証あり / 検証なし)。 |
cacheValidatedWithOriginServer |
キャッシュを利用する前に配信元サーバーでレスポンスを検証したかどうか。このフィールドは、 |
cacheFillBytes |
キャッシュに挿入された HTTP レスポンスのバイト数。キャッシュ フィルの試行時にのみ設定されます。 |
protocol |
リクエストに使用されるプロトコル。 例: 「HTTP/1.1」、「HTTP/2」、「websocket」 |
LogEntryOperation
ログエントリが関連付けられた長時間実行する可能性のある操作に関する追加情報。
| JSON 表現 |
|---|
{ "id": string, "producer": string, "first": boolean, "last": boolean } |
| フィールド | |
|---|---|
id |
省略可。任意の操作識別子。同じ識別子を持つログエントリは、同じ操作の部分とみなされます。 |
producer |
省略可。任意のプロデューサー識別子。 |
first |
省略可。これが操作の最初のログエントリである場合は、True に設定します。 |
last |
省略可。これが操作の最後のログエントリである場合は、True に設定します。 |
LogEntrySourceLocation
ログエントリを生成したソースコードの場所に関する追加情報。
| JSON 表現 |
|---|
{ "file": string, "line": string, "function": string } |
| フィールド | |
|---|---|
file |
省略可。ソースファイル名。ランタイム環境に応じて、これは単純名または完全修飾名を指定できます。 |
line |
省略可。ソースファイル内の行。1 ベース。0 は行番号が利用できないことを示します。 |
function |
省略可。呼び出される関数名またはメソッド名。人が判読可能な形式になります。コンテキスト(クラスやパッケージ名など)を指定することもできます。この情報が使用されるのは、ログビューアのように、ファイルと行番号があまり意味を持たない場合です。形式は、言語によって異なります。例: |
QuotaProperties
割り当てオペレーションに必要なプロパティを表します。
| JSON 表現 |
|---|
{
"quotaMode": enum ( |
| フィールド | |
|---|---|
quotaMode |
このオペレーションの割り当てモード。 |
ResourceInfo
このオペレーションに関連付けられているリソースを記述します。
| JSON 表現 |
|---|
{ "resourceContainer": string, "resourceName": string, "resourceLocation": string, "permission": string } |
| フィールド | |
|---|---|
resourceContainer |
このリソース インスタンスの親の識別子。 |
resourceName |
リソースの名前。これは監査の目的で使用されます。 |
resourceLocation |
リソースのロケーション。空でない場合、リソースはロケーション ポリシーに対してチェックされます。値は有効なゾーン、リージョン、マルチリージョンである必要があります。例:「europe-west4」、「northamerica-northeast1-a」 |
permission |
このリクエストに必要なリソース権限。 |
TraceSpan
スパンは、トレース内の単一のオペレーションを表します。スパンをネストしてトレースツリーを形成できます。多くの場合、トレースにはエンドツーエンドのレイテンシを表すルートスパンと、サブ オペレーションの 1 つ以上のサブスパンが含まれます。トレースには複数のルートスパンを含めることも、ルートスパンをまったく含めないこともできます。スパンは連続している必要はありません。トレース内のスパン間にギャップや重複がある場合があります。
| JSON 表現 |
|---|
{ "name": string, "spanId": string, "parentSpanId": string, "displayName": { object ( |
| フィールド | |
|---|---|
name |
スパンのリソース名(次の形式)。 [TRACE_ID] は、プロジェクト内のトレースの一意の識別子です。16 バイトの配列を 32 文字の 16 進数にエンコードした値です。 [SPAN_ID] は、トレース内のスパンの一意の識別子です。8 バイトの配列を 16 文字の 16 進数にエンコードした値です。 |
spanId |
スパンのリソース名の [SPAN_ID] 部分。 |
parentSpanId |
このスパンの親スパンの [SPAN_ID]。ルートスパンの場合、このフィールドは空にする必要があります。 |
displayName |
スパンのオペレーションの説明(最大 128 バイト)。Stackdriver Trace は、Google Cloud Platform Console に説明を表示します。たとえば、表示名は、完全修飾メソッド名、またはオペレーションが呼び出されるファイル名と行番号にすることができます。アプリケーション内および同じ呼び出しポイントで同じ表示名を使用することをおすすめします。これにより、異なるトレース内のスパンを簡単に関連付けることができます。 |
startTime |
スパンの開始時間。クライアント側では、これはスパン実行が開始されるローカルマシンで保持される時間です。サーバー側では、これはサーバーのアプリケーション ハンドラが実行を開始した時刻です。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
endTime |
スパンの終了時刻。クライアント側では、これはスパンの実行が終了するローカルマシンで保持される時間です。サーバー側では、サーバー アプリケーション ハンドラが実行を停止する時間です。 RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: |
attributes |
スパンの属性のセット。スパンあたりの属性の最大数は 32 です。 |
status |
このスパンの最終ステータス(省略可)。 |
sameProcessAsParentSpan |
(省略可)このパラメータを設定して、このスパンが親と同じプロセスにあるかどうかを示します。このパラメータを設定しないと、Stackdriver Trace はこの有用な情報を活用できません。 |
childSpanCount |
このスパンがアクティブな間に生成された子スパンの数(省略可)。設定されている場合、実装で子スパンの欠落を検出できます。 |
spanKind |
特定のコンテキストで生成されたスパンを区別します。たとえば、同じ名前の 2 つのスパンを |
TruncatableString
指定された長さに短縮される可能性のある文字列を表します。
| JSON 表現 |
|---|
{ "value": string, "truncatedByteCount": integer } |
| フィールド | |
|---|---|
value |
短縮された文字列。たとえば、元の文字列の長さが 500 バイトで、文字列の制限が 128 バイトの場合、 切り捨ては常に UTF8 文字の境界で行われます。文字列にマルチバイト文字が含まれている場合、短縮された文字列の長さがサイズ上限を下回る可能性があります。 |
truncatedByteCount |
元の文字列から削除されたバイト数。この値が 0 の場合、文字列は短縮されていません。 |
属性
属性のセット。各属性は [KEY]:[VALUE] 形式です。
| JSON 表現 |
|---|
{
"attributeMap": {
string: {
object ( |
| フィールド | |
|---|---|
attributeMap |
属性のセット。各属性のキーの長さは最大 128 バイトです。値は、最大 256 バイトの文字列、符号付き 64 ビット整数、またはブール値
|
droppedAttributesCount |
破棄された属性の数。属性のキーが長すぎるか、属性が多すぎるため、属性が破棄されることがあります。この値が 0 の場合、すべての属性が有効です。 |
AttributeValue
[KEY]:[VALUE] 属性の [VALUE] で使用できる型。
| JSON 表現 |
|---|
{ // Union field |
| フィールド | |
|---|---|
共用体フィールド value。値の型。value は次のいずれかになります。 |
|
stringValue |
最大 256 バイトの文字列。 |
intValue |
64 ビット符号付き整数。 |
boolValue |
|