Trace span 属性和事件

客户端轨迹是通过执行 RPC 收集的,可为来自客户端的每个请求提供多条信息,包括包含客户端发送 RPC 请求和客户端收到 RPC 响应的时间戳的跨度。这些跨度包括网络和客户端系统引入的延迟时间。

客户端轨迹可能包含以下信息:

Span 元数据

span ID 此 span 的唯一 ID
父级 Span ID 父级 span 的 ID,未针对根 span 设置
项目 ID 提取跟踪记录的 Google Cloud 项目 ID
开始时间 Span 开始时间
结束时间 Span 结束时间

Span 属性

客户端版本
otel.scope.version 字符串
客户端环境
gcp.firestore.memory_utilization 双精度(百分比)
客户端连接属性
gcp.firestore.settings.channel.needs_credentials 布尔值
gcp.firestore.settings.channel.needs_endpoint 布尔值
gcp.firestore.settings.channel.needs_headers 布尔值
gcp.firestore.settings.channel.should_auto_close 布尔值
gcp.firestore.settings.channel.transport_name 字符串(例如“grpc”
gcp.firestore.settings.credentials.authentication_type 字符串示例:“OAuth2”
gcp.firestore.settings.host 字符串示例:“firestore.googleapis.com:443”
数据库属性
gcp.firestore.settings.project_id 字符串
包含 Firestore 数据库的 Google Cloud 项目 ID
gcp.firestore.settings.database_id string
数据库外部 ID(名称)
客户端 RPC 重试设置
gcp.firestore.settings.retrySettings.initial_retry_delay string
时长(以秒为单位)0.01 秒
gcp.firestore.settings.retrySettings.initial_rpc_timeout
gcp.firestore.settings.retrySettings.max_attempts 整数(计数)
gcp.firestore.settings.retrySettings.max_retry_delay 字符串
时长(秒),例如:0.1 秒
gcp.firestore.settings.retrySettings.max_rpc_timeout
gcp.firestore.settings.retrySettings.retry_delay_multiplier 双精度
gcp.firestore.settings.retrySettings.rpc_timeout_multiplier 双精度
gcp.firestore.settings.retrySettings.total_timeout string
时长(以秒为单位)
OpenTelemetry 配置
otel.scope.name 字符串(例如“com.google.cloud.firestore”
service.name Sparky
telemetry.sdk.language 字符串示例:"java"
telemetry.sdk.name 打开遥测
telemetry.sdk.version 例如:1.29.0

日志和事件

客户端跟踪记录提供以下日志和事件。

gRPC 事件

RPC 属性
message.id 整数,例如 1、2
message.type 已发送或已接收

AggregateQuery 事件

事件:“RunAggregationQuery 流式传输已开始。”
尝试 大于或等于 0 的整数(例如 2)。首次尝试时为 0
事件:“RunAggregationQuery Response Received”。
尝试 大于或等于 0 的整数(例如:2)。初始尝试为 0
事件:“RunAggregationQuery:可重试的错误”。
error.message 字符串
事件:“RunAggregationQuery: Error。”
error.message 字符串

BatchGetDocuments 事件

事件:“BatchGetDocuments: Start”
doc_count 整数
transactional 布尔值
事件:“BatchGetDocuments:收到首个响应”
// 每收到 100 条响应后发送一次
事件:“BatchGetDocuments:收到了 100 个响应”
事件:“BatchGetDocuments:已完成,收到 ${N} 个响应”
response_count 整数

RunQuery 事件

事件:“RunQuery”
transactional 布尔值
retry_query_with_cursor 布尔值
事件:“RunQuery:收到第一个响应”
// Once every 100 responses are received
Event: "RunQuery: Received 100 documents"
// 仅当/当服务器执行半关闭时
事件:“RunQuery: Received RunQueryResponse.Done”
事件:“RunQuery: Retryable Error”。
error.message 字符串
事件:“RunQuery: Error。”
error.message 字符串
事件:“RunQuery: Completed”。
response_count 整数

交易事件数

Span:“Transaction.Run”
transaction_type 字符串(“READ_ONLY”或“READ_WRITE”)
attempts_allowed 整数
attempts_remaining 整数
// 仅当重试事务时
事件:“启动事务重试”

提交事件

Span:“BulkWriter.Commit”
doc_count 整数
Span:“Batch.Commit”
doc_count 整数
Span:“Transaction.Commit”
doc_count 整数

异常事件

Span 状态 = ERROR
exception.message 字符串
exception.type 字符串
exception.stacktrace 字符串