medium
可观测性 / F22
GET /metrics 能返回 Prometheus 文本,访问门禁(共用端口 Bearer / 后台分离端口免令牌)可用,但 nixmsg_connections、nixmsg_deliveries_pending、耗时直方图等保持初值(连接数 0,计数不增)。无法按 PRD F22 用 Prometheus 观察在线数、待投递、投递耗时。
GET /metrics
nixmsg_connections
nixmsg_deliveries_pending
cmd/nixmsg/serve.go
metricsReg.Handler()
internal/metrics/metrics.go
WithLabelValues
Set
Observe
internal/metrics/metrics_test.go
「指标不含正文和编号」是已确认的隐私选择。端点存在但永远为 0 等于监控未交付,DEVIATIONS 也没写「本版只暴露空指标」。
把 metrics.Registry 注入连接表(按 ws/tcp 更新连接数)、消息循环(pending/scheduled、到点到推送、ack 耗时)、写队列与 argon2 池。周期采样或事件更新均可。门禁逻辑保持 A3 现状。
metrics.Registry
已合入并推送 main 4059a1576bc97879b840ec5200defd80bc9eb3f0。 Prometheus 指标已接到连接、投递、确认、写队列与上行错误,沿用既有指标名。
4059a1576bc97879b840ec5200defd80bc9eb3f0
No dependencies set.
The note is not visible to the blocked user.
严重级
medium
分类
可观测性 / F22
现象
GET /metrics能返回 Prometheus 文本,访问门禁(共用端口 Bearer / 后台分离端口免令牌)可用,但nixmsg_connections、nixmsg_deliveries_pending、耗时直方图等保持初值(连接数 0,计数不增)。无法按 PRD F22 用 Prometheus 观察在线数、待投递、投递耗时。路径
cmd/nixmsg/serve.go第 187–194 行:只把metricsReg.Handler()挂到路由,registry 未交给 broker / message / store / authinternal/metrics/metrics.go第 101–102 行:启动时把 ws/tcp 设为 0WithLabelValues/Set/Observe调用;仅internal/metrics/metrics_test.go在单测里打点文档条款
为何不是故意设计
「指标不含正文和编号」是已确认的隐私选择。端点存在但永远为 0 等于监控未交付,DEVIATIONS 也没写「本版只暴露空指标」。
建议方向(不实现)
把
metrics.Registry注入连接表(按 ws/tcp 更新连接数)、消息循环(pending/scheduled、到点到推送、ack 耗时)、写队列与 argon2 池。周期采样或事件更新均可。门禁逻辑保持 A3 现状。已合入并推送 main
4059a1576bc97879b840ec5200defd80bc9eb3f0。Prometheus 指标已接到连接、投递、确认、写队列与上行错误,沿用既有指标名。