跳转到内容

x/observability/devtools Primer

实验性 — API 兼容性未冻结。采用前请先评估。查看发布策略了解当前成熟度。

当你已经通过 x/observability Primer 确认问题明确属于开发时调试路由时,打开这一页:本地性能分析端点、环境快照 payload、开发指标暴露或 pubsub 调试助手。

x/observability/devtoolsx/observability 家族内的下级仅调试包。在直接打开本包之前,先在 x/observability 中开始更广泛的可观测性工作。没有显式门控,devtools 绝不能挂载到生产环境。

  • 你正在添加或修改用于本地开发检查的调试路由(/_debug/...
  • 你正在实现用于开发诊断的运行时或配置快照 payload
  • 你正在在调试端点暴露开发指标
  • 你正在构建本地热重载工作流的环境重载助手
  • 你正在添加用于检查进程内主题状态的 pubsub 调试助手(pubsubdebug/
  • 工作是更广泛的可观测性基础设施,如 Prometheus 导出器或 OTel wiring — 从 x/observability Primer 开始
  • 改动关于生产环境中的受保护管理端点 — 那属于 x/observability/ops
  • 工作需要稳定根入口点或 core bootstrap 变更
  • 你打算在没有显式开发门控的情况下在生产二进制中挂载 devtools 路由
  1. x/observability/devtools/module.yaml
  2. x/observability/devtools/devtools.go
  3. x/observability/devtools/devcollector.go
  4. x/observability/devtools/pubsubdebug/
这些工作适合留在 x/observability/devtools一旦变成这些问题就应移出
devtools.go:调试路由注册和 handler wiring生产管理端点 — 那属于 x/observability/ops
devcollector.go:收集和暴露运行时快照和配置状态稳定指标或日志根接口变更
本地热重载工作流的环境重载端点生产配置管理或运行时配置 API
pubsubdebug:本地开发期间检查进程内 broker 状态生产 broker 监控或运营诊断

调试工具在开发中有价值,但在生产中危险。x/observability/devtools 是仅调试路由的显式归属,使它们无法意外迁移到 x/observability/opsx/observability 或 core。不变量是按需挂载:devtools 路由必须在仅限开发的 wiring 路径中显式注册,永远不通过 package init 或自动发现。