路由器仪表
路由器请求生命周期的标准指标仪表
标准指标仪表
GraphOS 路由器和Apollo 路由核心提供了一套不可配置的度量工具,这些工具可以暴露路由器请求生命周期的详细信息。
这些工具可以通过配置一个度量导出器来使用。
HTTP
apollo_router_http_request_duration_seconds_bucket
- HTTP 路由请求时长apollo_router_http_request_duration_seconds_bucket
- HTTP 子图请求时长,属性:subgraph
: (可选) 被查询的子图
apollo_router_http_requests_total
- 按HTTP状态的总HTTP请求数apollo_router_timeout
- 触发的超时次数apollo_router_http_request_retry_total
- 重试的子图请求数量,属性:subgraph
: 被查询的子图status
: 重试是否已取消(aborted
)
GraphQL
apollo_router_graphql_error
- 统计响应中的GraphQL错误数量,属性:code
: 错误代码
会话
apollo_router_session_count_total
- 当前连接的客户机数量apollo_router_session_count_active
- 在运的GraphQL请求数量
缓存
apollo_router_cache_size
— 缓存中的条目数量apollo_router_cache_hit_count
- 缓存命中次数apollo_router_cache_miss_count
- 缓存未命中次数apollo_router_cache_hit_time
- 打中缓存所需时间(秒)apollo_router_cache_miss_time
- 未命中缓存所需时间(秒)
上述所有缓存度量都有以下属性
kind
: 被查询的缓存(apq
,query planner
,introspection
)storage
: 缓存的后端存储(memory
,redis
)
协处理器
apollo_router_operations_coprocessor_total
- 启用协处理器的总操作。apollo_router_operations_coprocessor.duration
- 等待协处理器回答花费的时间,单位为秒。
协处理器操作度量具有以下属性:
coprocessor.stage
:字符串(RouterRequest
,RouterResponse
,SubgraphRequest
,SubgraphResponse
)coprocessor.succeeded
:布尔型
性能
apollo_router_processing_time
- 处理请求数据(不包括等待外部或子图请求)所用时间,单位为秒。apollo_router_schema_load_duration
- 加载模式所占时间,单位为秒。
查询规划
apollo_router.query_planning.warmup.duration
- 查询规划器预热查询所用时间,单位为秒。apollo.router.query_planning.plan.duration
- 仅针对查询计划执行时间的直方图。apollo.router.query_planning.total.duration
- 包含队列时间的查询计划执行时间直方图。apollo.router.query_planning.queued
- 已排队计划请求数量的仪表。
上行链路
apollo_router_uplink_fetch_duration_seconds_bucket
- 上行链路请求持续时间,属性包括:url
:被轮询的上行链路URLquery
:路由器发送到上行链路(SupergraphSdl或License)的查询kind
:(new
,unchanged
,http_error
,uplink_error
)code
:根据类型决定错误代码(如果发生错误)error
:错误消息(如果发生错误)
apollo_router_uplink_fetch_count_total
status
:(success
,failure
)query
:路由器发送到上行链路(SupergraphSdl或License)的查询
ⓘ 注意
在路由器启动期间对上行链路的初始调用不会反映在指标中。
订阅
💡 提示
apollo_router_opened_subscriptions
- 打开的不同订阅数(如果是去重,则不是打开订阅的客户端数)apollo_router_deduplicated_subscriptions_total
- 已去重的订阅数apollo_router_skipped_event_count
- 由于从子图接收的事件过多尚未发送到客户端而跳过的订阅事件数
批处理
apollo.router.operations.batching
- 路由接收到的查询批次数量计数器。apollo.router.operations.batching.size
- 跟踪一个查询批次内包含查询数量的直方图。
GraphOS Studio
apollo.router.telemetry.studio.reports
- 路由提交到GraphOS Studio的报告数量。report.type
提交的报告类型:“traces”或“metrics”。report.protocol
:根据实验性配置experimental_otlp_tracing_sampler
为“apollo”或“otlp”。
已弃用
以下指标已被弃用,不应使用。
apollo_router_span
- 已弃用 - 请使用已弃用apollo_router_processing_time代替。