用途:在 Node 应用中集成 Wardx SDK,实现遥测指标、Remote Config 读取、实验分配与留存活动上报。@wardx/core 仅用于自定义运行时,不含 HTTP 传输。
主要能力:用 createWardx(options) 按客户端生命周期创建实例;启用时需 endpoint、projectKey、project、role、appVersion、environment、privacySalt,且 project 须匹配凭据的服务端映射,privacySalt 保持稳定共享。测量调用同步且只更新内存;启动同步立即开始,后续按配置间隔与抖动同步;投递为至多一次,失败批次丢弃,无磁盘队列或重试。
信号选择:counter 计数、gauge 最新值、histogram 分布、distinct 近似去重、timer 计时、event 离散事实、log 诊断、retentionActivity 留存活动。维度须低基数,禁止放入用户 ID、邮箱或唯一交易 ID;超限维度变为 no-op 并增加 wardx.internal.cardinality_dropped。
Remote Config 与实验:config.get(key, fallback, context) 读取本地快照,无网络 I/O;快照到达前用调用方 fallback。role 控制可见键与实验。单用户实例用 identify(userId) 设默认实验主体,多用户后端按调用传 { subjectId }。experiment.goal 无主体会抛错。
生命周期:在应用关闭流程中保留并 await shutdown(),可重复调用;flush() 立即发送但不停止定时器。本地诊断可用 createConsoleTracer(),不向服务端发送。
限制:Remote Config 不得含密钥;不要在应用代码中定义实验或持久化所选变体;事件/日志缓冲满时丢弃新行;留存需显式非空稳定 ID,且跨设备使用相同活动定义与项目盐。缺失信息:官方文档、价格与平台支持暂未提供。