BillingView

通过 Eventstream 报告结算请求的消息。

JSON 表示法
{
  "reportRequests": [
    {
      object (ReportRequest)
    }
  ]
}
字段
reportRequests[]

object (ReportRequest)

要针对 cloud.eventstream.v2.ResourceEvent 报告的结算请求

ReportRequest

针对 services.report 方法的请求消息。

JSON 表示法
{
  "serviceName": string,
  "operations": [
    {
      object (Operation)
    }
  ],
  "serviceConfigId": string
}
字段
serviceName

string

服务配置中指定的服务名称。例如 "pubsub.googleapis.com"

如需了解服务名称的定义,请参阅 google.api.Service

operations[]

object (Operation)

要报告的操作。

通常,服务应针对每个请求报告一次操作。允许将多项操作放入单个请求中,但仅当报告时自然存在多项操作时才应使用此方法。

同一 ReportRequest 中的操作数量没有限制,但 ReportRequest 的大小不得超过 1MB。如需了解部分失败行为,请参阅 ReportResponse.report_errors

serviceConfigId

string

指定应使用哪个版本的服务配置来处理请求。

如果未指定或找不到匹配的版本,则使用最新版本。

操作

表示与操作相关的信息。

JSON 表示法
{
  "operationId": string,
  "operationName": string,
  "consumerId": string,
  "startTime": string,
  "endTime": string,
  "labels": {
    string: string,
    ...
  },
  "metricValueSets": [
    {
      object (MetricValueSet)
    }
  ],
  "logEntries": [
    {
      object (LogEntry)
    }
  ],
  "quotaProperties": {
    object (QuotaProperties)
  },
  "importance": enum (Importance),
  "userLabels": {
    string: string,
    ...
  },
  "resources": [
    {
      object (ResourceInfo)
    }
  ],
  "traceSpans": [
    {
      object (TraceSpan)
    }
  ]
}
字段
operationId

string

操作的身份。在生成相应操作的服务范围内,此值必须是唯一的。如果服务对同一操作同时调用 services.check() 和 services.report(),则这两个调用应携带相同的 ID。

建议使用 UUID 版本 4,但并非强制要求。如果操作是根据现有信息计算得出的,并且出于去重目的需要使用幂等 ID,建议使用 UUID 版本 5。如需了解详情,请参阅 RFC 4122。

operationName

string

操作的完全限定名称。留待将来使用。

consumerId

string

使用服务的消费者的身份。此字段应针对由消费者发起的运营操作填写,但不应针对与特定消费者无关的服务发起的运营操作填写。

  • 可以是以下格式之一:
    • project:PROJECT_ID,
    • project_number:PROJECT_NUMBER,
    • projects/PROJECT_ID 或 PROJECT_NUMBER,
    • folders/FOLDER_NUMBER,
    • organizations/ORGANIZATION_NUMBER,
    • api_key:API_KEY。
startTime

string (Timestamp format)

必需。操作的开始时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

endTime

string (Timestamp format)

操作的结束时间。当操作用于 ServiceController.Report 时为必需,但当操作用于 ServiceController.Check 时为可选。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

labels

map (key: string, value: string)

描述操作的标签。仅允许使用以下标签:

  • 服务配置中定义的描述受监控资源的标签。
  • 指标值的默认标签。如果指定了标签,则指标值中定义的标签会替换这些默认标签。
  • Google Cloud Platform 定义的以下标签:
    • cloud.googleapis.com/location 用于描述操作发生的位置,
    • servicecontrol.googleapis.com/userAgent 用于描述 API 请求的用户代理,
    • servicecontrol.googleapis.com/service_agent 用于处理 API 请求的服务(例如 ESP),
    • servicecontrol.googleapis.com/platform 用于描述提供 API 的平台,例如 App Engine、Compute Engine 或 Kubernetes Engine。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

metricValueSets[]

object (MetricValueSet)

表示有关此操作的信息。每个 MetricValueSet 都对应于服务配置中定义的指标。MetricValueSet 中使用的数据类型必须与指标定义中指定的数据类型一致。

在单个操作中,不允许有多个具有相同指标名称和相同标签值组合的 MetricValue 实例。如果请求包含此类重复的 MetricValue 实例,则整个请求会被拒绝,并返回无效参数错误。

logEntries[]

object (LogEntry)

表示要记录的信息。

quotaProperties

object (QuotaProperties)

表示配额检查所需的属性。仅当此操作是配额检查请求时适用。如果未指定,则不会执行配额检查。

importance

enum (Importance)

请勿使用。这是一个实验性字段。

userLabels

map (key: string, value: string)

非公开预览版。此功能仅适用于已获批准的服务。

与此操作关联的资源的用户定义标签。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

resources[]

object (ResourceInfo)

操作中涉及的资源。此字段中支持的条目数量上限为 100。

traceSpans[]

object (TraceSpan)

未实现。Cloud Trace span 的列表。Span 名称应包含目标项目的 ID,该项目可以是生产者项目,也可以是消费者项目。

MetricValueSet

表示同一指标中的一组指标值。集合中的每个指标值都应具有唯一的开始时间、结束时间和标签值组合。

JSON 表示法
{
  "metricName": string,
  "metricValues": [
    {
      object (MetricValue)
    }
  ]
}
字段
metricName

string

服务配置中定义的指标名称。

metricValues[]

object (MetricValue)

相应指标中的值。

MetricValue

表示单个指标值。

JSON 表示法
{
  "labels": {
    string: string,
    ...
  },
  "startTime": string,
  "endTime": string,

  // Union field value can be only one of the following:
  "boolValue": boolean,
  "int64Value": string,
  "doubleValue": number,
  "stringValue": string,
  "distributionValue": {
    object (Distribution)
  },
  "moneyValue": {
    object (Money)
  }
  // End of list of possible types for union field value.
}
字段
labels

map (key: string, value: string)

描述指标值的标签。如需了解覆盖关系,请参阅有关 google.api.servicecontrol.v1.Operation.labels 的注释。请注意,此映射不得包含受监控的资源标签。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

startTime

string (Timestamp format)

相应指标值所衡量的时间段的开始时间。对于不同类型的指标(累计、增量和采样平均值),时间段的语义有所不同。如需了解详情,请参阅服务配置中的指标定义文档。如果未指定,则系统会使用 google.api.servicecontrol.v1.Operation.start_time

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

endTime

string (Timestamp format)

相应指标值的衡量时间段的结束时间。如果未指定,则系统会使用 google.api.servicecontrol.v1.Operation.end_time

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

联合字段 value。值。请求中使用的值类型必须与服务配置中的指标定义一致,否则 MetricValue 会被拒绝。value 只能是下列其中一项:
boolValue

boolean

布尔值。

int64Value

string (int64 format)

有符号的 64 位整数值。

doubleValue

number

双精度浮点值。

stringValue

string

文本字符串值。

distributionValue

object (Distribution)

分布值。

moneyValue

object (Money)

货币值。

分布

分布表示双值样本点的频次分布。它包含样本点的人口规模以及其他可选信息:

  • 样本的算术平均值
  • 样本的最小值和最大值
  • 样本的平方偏差和,用于计算方差
  • 样本点值的直方图
JSON 表示法
{
  "count": string,
  "mean": number,
  "minimum": number,
  "maximum": number,
  "sumOfSquaredDeviation": number,
  "bucketCounts": [
    string
  ],
  "exemplars": [
    {
      object (Exemplar)
    }
  ],

  // Union field bucket_option can be only one of the following:
  "linearBuckets": {
    object (LinearBuckets)
  },
  "exponentialBuckets": {
    object (ExponentialBuckets)
  },
  "explicitBuckets": {
    object (ExplicitBuckets)
  }
  // End of list of possible types for union field bucket_option.
}
字段
count

string (int64 format)

分布中的样本总数。必须大于等于 0。

mean

number

分布中样本的算术平均值。如果 count 为零,则此字段必须为零。

minimum

number

值总体的最小值。如果 count 为零,则会被忽略。

maximum

number

值总体的最大值。如果 count 为零,则会被忽略。

sumOfSquaredDeviation

number

与平均值的平方差之和:Sum[i=1..count]((x_i - mean)^2),其中每个 x_i 都是一个样本值。如果 count 为零,则此字段必须为零,否则请求验证会失败。

bucketCounts[]

string (int64 format)

每个直方图分桶中的样本数量。bucketCounts 是可选的。如果存在,则这些值的总和必须等于 count 值。

以下 bucket_option 中定义了这些分桶。有 N 个分桶。bucketCounts[0] 是下溢出桶中的样本数。bucketCounts[1]bucketCounts[N-1] 是每个有限分区中的样本数。bucketCounts[N] 是溢出区桶中的样本数。如需了解详情,请参阅下方的 bucket_option 注释。

可以省略任何以零结尾的后缀。

exemplars[]

object (Exemplar)

示例点。必须按 value 字段以递增顺序排列。

联合字段 bucket_option。定义直方图中的分桶。必须同时设置 bucket_optionbucket_counts,或者同时不设置这两者。

分桶编号范围为 [0, N],总共有 N+1 个分桶。必须至少有两个桶(单桶直方图提供的信息不会比 count 更多)。

第一个分桶是下溢分桶,其下限为 -inf。最后一个分桶是上溢分桶,其上限为 +inf。所有其他分桶(如果有)都称为“有限”分桶,因为它们的下限和上限都是有限的。如下所述,有三种方法可以定义有限的分桶。

(1) 宽度恒定的分桶。(2) 宽度呈指数增长的分桶。(3) 宽度由用户任意指定的分桶。

在所有情况下,分桶都会覆盖整个实数范围 (-inf, +inf)。分桶上限不含边界值,下限含边界值。下溢分桶的上限等于最小有限分桶的下限;上溢分桶的下限等于最大有限分桶的上限。bucket_option 只能是下列其中一项:

linearBuckets

object (LinearBuckets)

宽度恒定的分桶。

exponentialBuckets

object (ExponentialBuckets)

宽度呈指数增长的桶。

explicitBuckets

object (ExplicitBuckets)

具有任意用户提供宽度的分桶。

LinearBuckets

描述宽度恒定的分桶。

JSON 表示法
{
  "numFiniteBuckets": integer,
  "width": number,
  "offset": number
}
字段
numFiniteBuckets

integer

有限分桶的数量。如果包含下溢桶和上溢桶,则桶总数为 numFiniteBuckets + 2。如需了解详情,请参阅有关 bucketOptions 的注释。

width

number

第 i 个线性区间的覆盖范围为 [offset + (i-1) * width, offset + i * width),其中 i 的范围为 1 到 numFiniteBuckets(含)。必须严格为正。

offset

number

第 i 个线性区间的范围为 [offset + (i-1) * width, offset + i * width),其中 i 的范围为 1 到 numFiniteBuckets(含)。

ExponentialBuckets

描述宽度呈指数增长的分桶。

JSON 表示法
{
  "numFiniteBuckets": integer,
  "growthFactor": number,
  "scale": number
}
字段
numFiniteBuckets

integer

有限分桶的数量。如果包含下溢桶和上溢桶,则桶总数为 numFiniteBuckets + 2。如需了解详情,请参阅有关 bucketOptions 的注释。

growthFactor

number

第 i 个指数桶涵盖的区间为 [scale * growthFactor^(i-1), scale * growthFactor^i),其中 i 的范围为 1 到 numFiniteBuckets(含边界值)。必须大于 1.0。

scale

number

第 i 个指数桶涵盖的区间为 [scale * growthFactor^(i-1), scale * growthFactor^i),其中 i 的范围为 1 到 numFiniteBuckets(含边界值)。必须大于 0。

ExplicitBuckets

描述宽度由用户任意指定的分桶。

JSON 表示法
{
  "bounds": [
    number
  ]
}
字段
bounds[]

number

“bound”是各分桶之间严格递增的边界列表。请注意,长度为 N-1 的列表定义了 N 个分桶,这是因为存在栅栏效应。如需了解详情,请参阅有关 bucketOptions 的注释。

第 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

number

范例点的值。此值用于确定范例属于哪个分桶。

timestamp

string (Timestamp format)

上述值的观测(采样)时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

attachments[]

object

有关示例值的上下文信息。示例包括:

跟踪记录:type.googleapis.com/google.monitoring.v3.SpanContext

字面量字符串:type.googleapis.com/google.protobuf.StringValue

在汇总期间丢弃的标签:type.googleapis.com/google.monitoring.v3.DroppedLabels

一个范例中只能包含一个指定消息类型的附件,这是由系统强制执行的。

此对象可以包含任意类型的字段。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }

金额

表示含有货币类型的金额。

JSON 表示法
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
字段
currencyCode

string

采用 ISO 4217 标准定义的三位字母货币代码。

units

string (int64 format)

金额的整数单位。例如,如果 currencyCode"USD",则 1 单位就是一美元。

nanos

integer

以纳单位 (10^-9) 表示的金额数量。取值范围必须在 -999,999,999 至 +999,999,999 之间(含边界值)。如果 units 是正数,nanos 必须是正数或零。如果 units 为零,nanos 可以是正数、零或负数。如果 units 是负数,nanos 必须是负数或零。例如,$-1.75 表示为 units=-1 和 nanos=-750,000,000。

LogEntry

单个日志条目。

JSON 表示法
{
  "name": string,
  "timestamp": string,
  "severity": enum (LogSeverity),
  "httpRequest": {
    object (HttpRequest)
  },
  "trace": string,
  "insertId": string,
  "labels": {
    string: string,
    ...
  },
  "operation": {
    object (LogEntryOperation)
  },
  "sourceLocation": {
    object (LogEntrySourceLocation)
  },

  // Union field payload can be only one of the following:
  "protoPayload": {
    "@type": string,
    field1: ...,
    ...
  },
  "textPayload": string,
  "structPayload": {
    object
  }
  // End of list of possible types for union field payload.
}
字段
name

string

必需。相应日志条目所属的日志。示例:"syslog""book_log"

timestamp

string (Timestamp format)

日志条目所述事件发生的时间。如果省略,则默认为操作开始时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

severity

enum (LogSeverity)

日志条目的严重性。默认值为 LogSeverity.DEFAULT

httpRequest

object (HttpRequest)

可选。与相应日志条目关联的 HTTP 请求的相关信息(如有)。

trace

string

可选。与日志条目关联的轨迹的资源名称(如果有)。如果此字段包含相对资源名称,您可以假定该名称相对于 //tracing.googleapis.com。示例:projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824

insertId

string

用于去重的日志条目的唯一 ID。如果省略,实现将根据 operationId 生成一个。

labels

map (key: string, value: string)

一组用户定义的(键、值)数据,用于提供有关日志条目的其他信息。

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

operation

object (LogEntryOperation)

可选。与日志条目关联的操作的相关信息(如果适用)。

sourceLocation

object (LogEntrySourceLocation)

可选。与日志条目关联的源代码位置信息(如果有)。

联合字段 payload。日志条目载荷,可以是多种类型之一。payload 只能是下列其中一项:
protoPayload

object

日志条目载荷,表示为以 JSON 对象表示的协议缓冲区。目前唯一接受的类型是 AuditLog

此对象可以包含任意类型的字段。附加字段 "@type" 包含用于标示相应类型的 URI。示例:{ "id": 1234, "@type": "types.example.com/standard/id" }

textPayload

string

日志条目载荷,表示为 Unicode 字符串 (UTF-8)。

structPayload

object (Struct format)

日志条目负载,表示为以 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

string

请求方法。示例:"GET""HEAD""PUT""POST"

requestUrl

string

所请求网址的方案 (http、https)、主机名、路径和查询部分。示例:"http://example.com/some/info?color=red"

requestSize

string (int64 format)

HTTP 请求消息的大小(以字节为单位),包括请求标头和请求正文。

status

integer

指示响应状态的响应代码。示例:200、404。

responseSize

string (int64 format)

发送回客户端的 HTTP 响应消息的大小(以字节为单位),包括响应标头和响应正文。

userAgent

string

客户端发送的用户代理。示例:"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)"

remoteIp

string

发出 HTTP 请求的客户端的 IP 地址(IPv4 或 IPv6)。示例:"192.168.1.1""FE80::0202:B3FF:FE1E:8329"

serverIp

string

请求发送到的源服务器的 IP 地址(IPv4 或 IPv6)。

referer

string

请求的引荐来源网址,如 HTTP/1.1 标头字段定义中所述。

latency

string (Duration format)

服务器上的请求处理延迟时间,从收到请求到发送响应的时间。

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

cacheLookup

boolean

是否尝试过缓存查找。

cacheHit

boolean

实体是否从缓存提供(无论是否经过验证)。

cacheValidatedWithOriginServer

boolean

在从缓存提供响应之前,是否已使用源服务器验证该响应。仅当 cacheHit 为 True 时,此字段才有意义。

cacheFillBytes

string (int64 format)

插入到缓存中的 HTTP 响应字节数。仅在尝试填充缓存时设置。

protocol

string

用于请求的协议。示例:“HTTP/1.1”“HTTP/2”“websocket”

LogEntryOperation

与日志条目关联的可能长时间运行的操作的相关其他信息。

JSON 表示法
{
  "id": string,
  "producer": string,
  "first": boolean,
  "last": boolean
}
字段
id

string

可选。任意操作标识符。具有相同标识符的日志条目会被视为属于同一操作。

producer

string

可选。任意生产者标识符。idproducer 的组合必须是全局唯一的。producer 的示例:"MyDivision.MyBigCompany.com""github.com/MyProject/MyApplication"

first

boolean

可选。如果这是相应操作中的第一个日志条目,请将此值设置为 True。

last

boolean

可选。如果这是相应操作中的最后一条日志条目,请将此属性设置为 True。

LogEntrySourceLocation

有关生成日志条目的源代码位置的其他信息。

JSON 表示法
{
  "file": string,
  "line": string,
  "function": string
}
字段
file

string

可选。源文件名。根据运行时环境,这可以是简单名称,也可以是完全限定名称。

line

string (int64 format)

可选。源文件中的行。从 1 开始;0 表示没有可用的行号。

function

string

可选。被调用的函数或方法的简单易懂名称,带有可选的上下文(例如类或软件包名称)。此信息可用于日志查看器等上下文中,在这些上下文中,文件和行号的意义不大。格式可能会因语言而异。例如:qual.if.ied.Class.method (Java)、dir/package.func (Go)、function (Python)。

QuotaProperties

表示配额操作所需的属性。

JSON 表示法
{
  "quotaMode": enum (QuotaMode)
}
字段
quotaMode

enum (QuotaMode)

相应操作的配额模式。

ResourceInfo

描述与此操作关联的资源。

JSON 表示法
{
  "resourceContainer": string,
  "resourceName": string,
  "resourceLocation": string,
  "permission": string
}
字段
resourceContainer

string

相应资源实例的父级的标识符。必须采用以下格式之一: - projects/<project-id or project-number> - folders/<folder-id> - organizations/<organization-id>

resourceName

string

资源的名称。此参数用于审核。

resourceLocation

string

资源的位置。如果不为空,系统将根据位置信息政策检查资源。该值必须是有效的可用区、区域或多区域。例如:“europe-west4”或“northamerica-northeast1-a”

permission

string

相应请求所需的资源权限。

TraceSpan

span 表示轨迹中的单个操作。Span 可以嵌套以形成轨迹树。通常,轨迹包含一个用于描述端到端延迟时间的根 span,以及一个或多个用于描述其子操作的子 span。一个轨迹还可以包含多个根 span,也可以完全不包含根 span。Span 不必是连续的,一个轨迹中的 span 之间可能存在间隙或重叠。

JSON 表示法
{
  "name": string,
  "spanId": string,
  "parentSpanId": string,
  "displayName": {
    object (TruncatableString)
  },
  "startTime": string,
  "endTime": string,
  "attributes": {
    object (Attributes)
  },
  "status": {
    object (Status)
  },
  "sameProcessAsParentSpan": boolean,
  "childSpanCount": integer,
  "spanKind": enum (SpanKind)
}
字段
name

string

span 的资源名称,格式如下:

projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]

[TRACE_ID] 是项目内跟踪记录的唯一标识符;它是 16 字节数组的 32 字符十六进制编码。

[SPAN_ID] 是 trace 中 span 的唯一标识符;它是 8 字节数组的十六进制编码,长度为 16 个字符。

spanId

string

span 资源名称的 [SPAN_ID] 部分。

parentSpanId

string

相应 span 的父 span 的 [SPAN_ID]。如果这是根 span,则此字段必须为空。

displayName

object (TruncatableString)

span 操作的说明(最多 128 字节)。Stackdriver Trace 会在 Google Cloud Platform Console 中显示说明。例如,显示名称可以是限定的方法名称,也可以是调用操作的文件名和行号。最佳实践是在应用内和同一调用点使用相同的显示名称。这样可以更轻松地关联不同轨迹中的 span。

startTime

string (Timestamp format)

时间段的开始时间。在客户端,这是本地机器上记录的 span 执行开始时间。在服务器端,这是服务器的应用处理程序开始运行的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

endTime

string (Timestamp format)

时间段的结束时间。在客户端,这是本地机器上记录的 span 执行结束时间。在服务器端,这是服务器应用处理程序停止运行的时间。

采用 RFC 3339 标准,生成的输出将始终进行 Z 规范化(即转换为 UTC 零时区格式并在末尾附加 Z),并使用 0、3、6 或 9 个小数位。不带“Z”的偏差时间也是可以接受的。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

attributes

object (Attributes)

span 上的一组属性。每个 span 最多可以有 32 个属性。

status

object (Status)

相应时间段的可选最终状态。

sameProcessAsParentSpan

boolean

(可选)设置此参数以指示相应 span 是否与其父 span 位于同一进程中。如果您未设置此参数,Stackdriver Trace 将无法利用此实用信息。

childSpanCount

integer

在相应 span 处于活动状态时生成的子 span 的数量(可选)。如果设置,则允许实现检测缺少的子 span。

spanKind

enum (SpanKind)

区分在特定上下文中生成的 span。例如,可以使用 CLIENT(调用方)和 SERVER(被调用方)来区分两个同名的 span,以标识 RPC 调用。

TruncatableString

表示可能缩短为指定长度的字符串。

JSON 表示法
{
  "value": string,
  "truncatedByteCount": integer
}
字段
value

string

缩短的字符串。例如,如果原始字符串的长度为 500 字节,而字符串的限制为 128 字节,则 value 包含 500 字节字符串的前 128 个字节。

截断始终发生在 UTF8 字符边界处。如果字符串中包含多字节字符,则缩短后的字符串长度可能小于大小限制。

truncatedByteCount

integer

从原始字符串中移除的字节数。如果此值为 0,则表示字符串未缩短。

属性

一组属性,每个属性的格式均为 [KEY]:[VALUE]

JSON 表示法
{
  "attributeMap": {
    string: {
      object (AttributeValue)
    },
    ...
  },
  "droppedAttributesCount": integer
}
字段
attributeMap

map (key: string, value: object (AttributeValue))

属性集。每个属性的键最长可为 128 字节。该值可以是最多 256 字节的字符串、有符号的 64 位整数,也可以是布尔值 truefalse。例如:

"/instance_id": "my-instance"
"/http/userAgent": ""
"/http/request_bytes": 300
"example.com/myattribute": true

包含一系列 "key": value 对的对象。示例:{ "name": "wrench", "mass": "1.3kg", "count": "3" }

droppedAttributesCount

integer

已舍弃的属性数量。属性可能会因键过长或属性过多而被舍弃。如果此值为 0,则所有属性均有效。

AttributeValue

[KEY]:[VALUE] 属性中 [VALUE] 的允许类型。

JSON 表示法
{

  // Union field value can be only one of the following:
  "stringValue": {
    object (TruncatableString)
  },
  "intValue": string,
  "boolValue": boolean
  // End of list of possible types for union field value.
}
字段
联合字段 value。值的类型。value 只能是下列其中一项:
stringValue

object (TruncatableString)

长度不超过 256 字节的字符串。

intValue

string (int64 format)

64 位有符号整数。

boolValue

boolean

truefalse 表示的布尔值。