codegeex 可自动生成符合 prometheus 最佳实践的 go 埋点代码:需安装 v2.12.0+ 插件、配置 .codegeex.yaml 声明依赖、用明确自然语言注释触发(如指标类型与维度),生成后验证注册与采集是否生效。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要在 Go 服务中快速添加 Prometheus 指标埋点,但不想手动写 Counter、Gauge、Histogram 的注册、初始化和采集逻辑——CodeGeex 能基于函数签名和业务语义自动生成符合 Prometheus 最佳实践的埋点代码。
准备 CodeGeex 插件与上下文
打开 VS Code,确保已安装 CodeGeex 插件(v2.12.0+),并登录有效账号。插件右下角状态栏显示「Ready」后方可使用。
在项目根目录下创建 【.codegeex.yaml】 文件,内容必须包含 prometheus-client-go 版本声明:dependencies: ["github.com/prometheus/client_golang@v1.16.0"],否则生成代码可能引用不存在的 API。
打开你要加埋点的 Go 文件,将光标定位在目标函数(如 HTTP handler 或核心业务方法)上方空行处。
用自然语言触发精准生成
输入注释提示,格式为:// @codegeex: add prometheus metrics for user login success rate,然后按 Ctrl+Enter(Windows/Linux)或 Cmd+Enter(macOS)唤出生成面板。
这一步不能写成「添加监控」或「加指标」——CodeGeex 对模糊指令响应差,必须明确指标类型(rate/counter/gauge)、维度(by status/code/path)、采集对象(函数入参、返回值、error 类型)。
若提示「No suitable context found」,说明当前函数缺少可提取的结构化信息:检查是否已有 error 返回值、是否含 status code 字段、是否调用 db 或 http.Client——没有这些,模型无法推断 label 键名。
筛选并插入生成结果
生成面板弹出 3~5 个候选代码块,优先选择带 promauto.NewCounterVec 初始化 + .WithLabelValues() 调用的完整片段。
CodeGeeX 2.21.0是智谱AI推出的AI编程助手版本,对Inline Chat功能进行了重大优化,包括UI设计升级、支持流式输出以提升响应速度,并新增“查看思路”按钮以便理解代码原理。同时,该版本在编辑器中新增CodeLens控件,支持一键“解释”代码或“添加注释”。目前该工具对个人开发者免费开放。
方法一:点击「Insert」直接插入到光标位置,立刻生效;
方法二:点击「Preview」查看 diff,确认是否自动 import 了 github.com/prometheus/client_golang/prometheus/promauto ——如果没加,手补 import 行,否则编译报错;
方法三:复制纯代码块粘贴到文件顶部 var 块中,再在函数内调用,适合需要复用同一指标多次的场景。
验证埋点是否注册成功
第一步:启动服务后访问 http://localhost:8080/metrics(假设你的 /metrics 端点已启用);
第二步:搜索你命名的指标名(如 user_login_success_total),确认出现且 type 为 counter;
第三步:触发对应业务逻辑(如调用一次登录接口),刷新页面,观察该指标值是否从 0 变为 1;
第四步:若指标未出现,检查生成代码中 promauto.With(registry) 是否传入了你实际使用的 *prometheus.Registry 实例——【默认 registry 不会被自动注入,必须显式传入】,否则指标处于游离状态,不被暴露。










