用途:Custom Metrics 用于在 Vercel Function 服务端代码中发出数值型应用与业务度量。流程为用 metric() 发出数值样本,调用已部署函数,再用 vc metrics 或 Observability 发现并查询指标。
发出指标:先安装或升级 @vercel/functions,命令为 pnpm add @vercel/functions,再从根入口导入 metric。签名为 metric(name: string, value: number, tags?: Record<string, string>): void。name 是稳定测量名,如 orders.created;value 是数值样本,累加型增量发 1,时长、大小或分数发观测值;tags 为可选字符串属性,摄取后其键会作为维度用于过滤与分组。metric() 同步返回 void,不要 await。运行时若不支持 Custom Metrics,该函数为空操作;应通过已部署函数调用验证,而非仅本地运行。
建模建议:优先使用稳定、带点号且必要时带单位后缀的名称,如 checkout.completed、checkout.duration_ms、queue.batch_size。应用自定义名称不要使用保留前缀 vercel.。可变数据放 tags 而非指标名。控制标签基数,适宜的有 outcome、plan、provider 或规范化路由;不要附用户 ID、请求 ID、邮箱、原始 URL 等唯一或敏感值。在结果已知处发出一个样本;可重试或至少一次场景需明确按尝试还是成功逻辑操作命名。查询聚合要与发出方式匹配:增量型用 sum 或 persecond;时长或大小用 avg、p75、p95、max;采样水平用 avg、min、max、百分位。
发现与查询:先至少运行一次已部署代码,再用正确团队范围执行 vc metrics schema、vc metrics schema orders.duration_ms,以及 vc metrics orders.created -a sum --group-by outcome --since 24h 等命令。vc 与 vercel 等价。查询前先查指标 schema 以确认可用聚合与已发现标签维度。当前链接或范围不明确时用 -S 和 -p,--all 仅用于有意的团队级查询。查询 Custom Metrics 需要 Observability Plus 且该团队可用。指标缺失时检查函数是否部署到 Vercel 且埋点路径确实运行、@vercel/functions 是否导出 metric 并必要时升级、vc whoami 与团队项目链接、摄取延迟后重跑 schema,以及团队是否启用 Observability Plus 与 Custom Metrics。
信号选择:数值聚合、趋势与过滤用 Custom Metrics;Web Analytics 中的用户交互与转化事件用其自定义事件;链路追踪、操作计时与请求因果用 OpenTelemetry spans;详细诊断上下文与单条记录用日志。不要把详细事件载荷编码进指标标签;需要逐请求细节时应将低基数指标与结构化日志或追踪配合。