- JSON 表示法
- ReportRequest
- Operation
- MetricValueSet
- MetricValue
- 分发
- LinearBuckets
- ExponentialBuckets
- ExplicitBuckets
- Exemplar
- 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[] |
要报告的操作。 通常,服务应针对每个请求报告一次操作。允许将多项操作放入单个请求中,但仅当报告时自然存在多项操作时才应使用此方法。 同一 ReportRequest 中的操作数量没有限制,但 ReportRequest 的大小不得超过 1MB。如需了解部分失败行为,请参阅 |
serviceConfigId |
指定应使用哪个版本的服务配置来处理请求。 如果未指定或找不到匹配的版本,则使用最新版本。 |
操作
表示与操作相关的信息。
| JSON 表示法 |
|---|
{ "operationId": string, "operationName": string, "consumerId": string, "startTime": string, "endTime": string, "labels": { string: string, ... }, "metricValueSets": [ { object ( |
| 字段 | |
|---|---|
operationId |
操作的身份。在生成相应操作的服务范围内,此值必须是唯一的。如果服务对同一操作同时调用 services.check() 和 services.report(),则这两个调用应携带相同的 ID。 建议使用 UUID 版本 4,但并非强制要求。如果操作是根据现有信息计算得出的,并且出于去重目的需要使用幂等 ID,建议使用 UUID 版本 5。如需了解详情,请参阅 RFC 4122。 |
operationName |
操作的完全限定名称。留待将来使用。 |
consumerId |
使用服务的消费者的身份。此字段应针对由消费者发起的运营操作填写,但不应针对与特定消费者无关的服务发起的运营操作填写。
|
startTime |
必需。操作的开始时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
endTime |
操作的结束时间。当操作用于 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
labels |
描述操作的标签。仅允许使用以下标签:
包含一系列 |
metricValueSets[] |
表示有关此操作的信息。每个 MetricValueSet 都对应于服务配置中定义的指标。MetricValueSet 中使用的数据类型必须与指标定义中指定的数据类型一致。 在单个操作中,不允许有多个具有相同指标名称和相同标签值组合的 MetricValue 实例。如果请求包含此类重复的 MetricValue 实例,则整个请求会被拒绝,并返回无效参数错误。 |
logEntries[] |
表示要记录的信息。 |
quotaProperties |
表示配额检查所需的属性。仅当此操作是配额检查请求时适用。如果未指定,则不会执行配额检查。 |
importance |
请勿使用。这是一个实验性字段。 |
userLabels |
非公开预览版。此功能仅适用于已获批准的服务。 与此操作关联的资源的用户定义标签。 包含一系列 |
resources[] |
操作中涉及的资源。此字段中支持的条目数量上限为 100。 |
traceSpans[] |
未实现。Cloud Trace span 的列表。Span 名称应包含目标项目的 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 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
endTime |
相应指标值的衡量时间段的结束时间。如果未指定,则系统会使用 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
联合字段 value。值。请求中使用的值类型必须与服务配置中的指标定义一致,否则 MetricValue 会被拒绝。value 只能是下列其中一项: |
|
boolValue |
布尔值。 |
int64Value |
有符号的 64 位整数值。 |
doubleValue |
双精度浮点值。 |
stringValue |
文本字符串值。 |
distributionValue |
分布值。 |
moneyValue |
货币值。 |
分布
分布表示双值样本点的频次分布。它包含样本点的人口规模以及其他可选信息:
- 样本的算术平均值
- 样本的最小值和最大值
- 样本的平方偏差和,用于计算方差
- 样本点值的直方图
| 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[] |
每个直方图分桶中的样本数量。 以下 可以省略任何以零结尾的后缀。 |
exemplars[] |
示例点。必须按 |
联合字段 分桶编号范围为 [0, N],总共有 N+1 个分桶。必须至少有两个桶(单桶直方图提供的信息不会比 第一个分桶是下溢分桶,其下限为 -inf。最后一个分桶是上溢分桶,其上限为 +inf。所有其他分桶(如果有)都称为“有限”分桶,因为它们的下限和上限都是有限的。如下所述,有三种方法可以定义有限的分桶。 (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-1 的列表定义了 N 个分桶,这是因为存在栅栏效应。如需了解详情,请参阅有关 第 i 个有限值分桶涵盖的区间为 [bound[i-1], bound[i]),其中 i 的范围为 1 到 bound_size() - 1。请注意,如果“bound”仅包含一个元素,则根本没有有限分桶;在这种特殊情况下,该单个边界定义了下溢分桶和上溢分桶之间的边界。 分桶编号下限上限 i == 0(下溢)-inf bound[i] 0 < i < bound_size() bound[i-1] bound[i] i == bound_size()(上溢)bound[i-1] +inf |
Exemplar
Exemplar 是可用于为汇总分布值添加注解的示例点。它们是元数据,可提供有关添加到分布分桶中的特定值的信息,例如添加值时处于活跃状态的跟踪 ID。它们可能包含更多信息,例如示例值和时间戳、来源等。
| JSON 表示法 |
|---|
{ "value": number, "timestamp": string, "attachments": [ { "@type": string, field1: ..., ... } ] } |
| 字段 | |
|---|---|
value |
范例点的值。此值用于确定范例属于哪个分桶。 |
timestamp |
上述值的观测(采样)时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 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 一个范例中只能包含一个指定消息类型的附件,这是由系统强制执行的。 此对象可以包含任意类型的字段。附加字段 |
金额
表示含有货币类型的金额。
| JSON 表示法 |
|---|
{ "currencyCode": string, "units": string, "nanos": integer } |
| 字段 | |
|---|---|
currencyCode |
采用 ISO 4217 标准定义的三位字母货币代码。 |
units |
金额的整数单位。例如,如果 |
nanos |
以纳单位 (10^-9) 表示的金额数量。取值范围必须在 -999,999,999 至 +999,999,999 之间(含边界值)。如果 |
LogEntry
单个日志条目。
| JSON 表示法 |
|---|
{ "name": string, "timestamp": string, "severity": enum ( |
| 字段 | |
|---|---|
name |
必需。相应日志条目所属的日志。示例: |
timestamp |
日志条目所述事件发生的时间。如果省略,则默认为操作开始时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
severity |
日志条目的严重性。默认值为 |
httpRequest |
可选。与相应日志条目关联的 HTTP 请求的相关信息(如有)。 |
trace |
可选。与日志条目关联的轨迹的资源名称(如果有)。如果此字段包含相对资源名称,您可以假定该名称相对于 |
insertId |
用于去重的日志条目的唯一 ID。如果省略,实现将根据 operationId 生成一个。 |
labels |
一组用户定义的(键、值)数据,用于提供有关日志条目的其他信息。 包含一系列 |
operation |
可选。与日志条目关联的操作的相关信息(如果适用)。 |
sourceLocation |
可选。与日志条目关联的源代码位置信息(如果有)。 |
联合字段 payload。日志条目载荷,可以是多种类型之一。payload 只能是下列其中一项: |
|
protoPayload |
日志条目载荷,表示为以 JSON 对象表示的协议缓冲区。目前唯一接受的类型是 此对象可以包含任意类型的字段。附加字段 |
textPayload |
日志条目载荷,表示为 Unicode 字符串 (UTF-8)。 |
structPayload |
日志条目负载,表示为以 JSON 对象表示的结构。 |
HttpRequest
用于记录 HTTP 请求的通用 proto。仅包含 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 |
所请求网址的方案 (http、https)、主机名、路径和查询部分。示例: |
requestSize |
HTTP 请求消息的大小(以字节为单位),包括请求标头和请求正文。 |
status |
指示响应状态的响应代码。示例:200、404。 |
responseSize |
发送回客户端的 HTTP 响应消息的大小(以字节为单位),包括响应标头和响应正文。 |
userAgent |
客户端发送的用户代理。示例: |
remoteIp |
发出 HTTP 请求的客户端的 IP 地址(IPv4 或 IPv6)。示例: |
serverIp |
请求发送到的源服务器的 IP 地址(IPv4 或 IPv6)。 |
referer |
请求的引荐来源网址,如 HTTP/1.1 标头字段定义中所述。 |
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
span 表示轨迹中的单个操作。Span 可以嵌套以形成轨迹树。通常,轨迹包含一个用于描述端到端延迟时间的根 span,以及一个或多个用于描述其子操作的子 span。一个轨迹还可以包含多个根 span,也可以完全不包含根 span。Span 不必是连续的,一个轨迹中的 span 之间可能存在间隙或重叠。
| JSON 表示法 |
|---|
{ "name": string, "spanId": string, "parentSpanId": string, "displayName": { object ( |
| 字段 | |
|---|---|
name |
span 的资源名称,格式如下: [TRACE_ID] 是项目内跟踪记录的唯一标识符;它是 16 字节数组的 32 字符十六进制编码。 [SPAN_ID] 是 trace 中 span 的唯一标识符;它是 8 字节数组的十六进制编码,长度为 16 个字符。 |
spanId |
span 资源名称的 [SPAN_ID] 部分。 |
parentSpanId |
相应 span 的父 span 的 [SPAN_ID]。如果这是根 span,则此字段必须为空。 |
displayName |
span 操作的说明(最多 128 字节)。Stackdriver Trace 会在 Google Cloud Platform Console 中显示说明。例如,显示名称可以是限定的方法名称,也可以是调用操作的文件名和行号。最佳实践是在应用内和同一调用点使用相同的显示名称。这样可以更轻松地关联不同轨迹中的 span。 |
startTime |
时间段的开始时间。在客户端,这是本地机器上记录的 span 执行开始时间。在服务器端,这是服务器的应用处理程序开始运行的时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
endTime |
时间段的结束时间。在客户端,这是本地机器上记录的 span 执行结束时间。在服务器端,这是服务器应用处理程序停止运行的时间。 采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例: |
attributes |
span 上的一组属性。每个 span 最多可以有 32 个属性。 |
status |
相应时间段的可选最终状态。 |
sameProcessAsParentSpan |
(可选)设置此参数以指示相应 span 是否与其父 span 位于同一进程中。如果您未设置此参数,Stackdriver Trace 将无法利用此实用信息。 |
childSpanCount |
在相应 span 处于活动状态时生成的子 span 的数量(可选)。如果设置,则允许实现检测缺少的子 span。 |
spanKind |
区分在特定上下文中生成的 span。例如,可以使用 |
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 |
以 |