轨迹跨度属性和事件

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

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

Span 元数据

span ID 此 span 的唯一 ID
父级 Span ID 父 span 的 ID,不为根 span 设置
项目 ID 提取轨迹的 Google Cloud 项目 ID
开始时间 跨度开始时间
结束时间 跨度结束时间

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 string
包含 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 string
时长(以秒为单位)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 opentelemetry
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.message 字符串

BatchGetDocuments 事件

事件:“BatchGetDocuments:开始”
doc_count 整数
transactional 布尔值
事件:“BatchGetDocuments: First Response Received”
// Once every 100 responses are received
Event: "BatchGetDocuments: Received 100 responses"
事件:“BatchGetDocuments:已完成,收到 ${N} 个响应”
response_count 整数

RunQuery 事件

事件:“RunQuery”
transactional 布尔值
retry_query_with_cursor 布尔值
事件:“RunQuery: First Response Received”
// Once every 100 responses are received
Event: "RunQuery: Received 100 documents"
// Only if/when half-close is performed by the server
Event: "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 整数
// Only if/when a transaction is retried
Event: "Initiate transaction retry"

提交事件

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

异常事件

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