路由器仪表
路由器请求生命周期的标准指标仪表
标准指标仪表
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_totalstatus:(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代替。