SuperAPI AI 工具集

launchdarkly-metric-instrument

数据与分析

查看项目

更新于 10-15 23:49

技能介绍

用途:该技能引导你在代码库中添加 track() 调用,让 LaunchDarkly 指标能够度量某个事件。它会检测所用 SDK、找到合适的代码位置、正确编写调用,并验证事件是否到达 LaunchDarkly。

前置条件:需要在环境中配置远程托管的 LaunchDarkly MCP 服务器。必需 MCP 工具:list-metric-events(埋点后验证事件是否流动)。可选工具:get-project(在需要初始化 SDK 时获取对应环境的 SDK key)。

工作流程:

  1. 检测 SDK:搜索已有的 track() 调用(如 ldClient.track(、.track(、ld.track(),据此判断 SDK 类型、调用签名和 context 模式;若无则检查依赖文件与初始化代码。关键区分服务端与客户端:服务端签名 ldClient.track(eventKey, context, data?, metricValue?),每次调用需传 context;客户端签名 ldClient.track(eventKey, data?, metricValue?),context 在初始化时设置。
  2. 若 SDK 不存在则安装并初始化:根据锁文件判断包管理器,安装对应 SDK,用 get-project 获取 SDK key,并按代码库已有模式添加初始化。
  3. 确定埋点位置:定位用户操作或事件发生处,如表单提交、按钮点击、API 路由完成、mutation hook,或已有分析调用附近;不确定时应询问用户,不要猜测位置。
  4. 编写 track() 调用:匹配已有 context,不要内联构造新 context;metricValue 仅用于数值型指标,计数和发生型指标应省略;若代码库封装了 LD 调用,应通过封装调用;事件 key 区分大小写,须与指标创建时完全一致。
  5. 验证:让用户在本地或预发环境触发操作,再用 list-metric-events(projectKey, environmentKey) 确认事件 key 出现;若未出现,检查事件 key 大小写、SDK 是否初始化、context 是否一致、客户端是否先评估了 flag、环境是否正确、数据延迟(最多约 5 分钟)等。

重要限制:track() 调用只有在先评估了 flag 时才会计入实验,事件通过 variation() 调用与实验参与者关联;客户端 SDK 按间隔(默认约 30 秒)或页面卸载时刷新事件,测试中可能需显式调用 ldClient.flush();服务端 SDK 也会缓冲事件,开发中在 track() 后调用 flush() 可确保进程退出前发送;metricValue 单位必须与指标定义一致;data 参数用于自定义元数据,不是指标值。

参考资料:SDK Track Patterns,包含各支持 SDK 的 track() 语法、初始化与包名。