Wuying Observer SDK for JavaScript
npm install wobs-js``javascript
const { init, shutdown, newSpanAsCurrent, newTrackPoint } = require('wobs-js');
if (require.main === module) {
// 初始化observer,指定trackpoint和trace文件存放目录,这里设置为当前路径,默认可不填,和C++、Golang版本保持一致
init("test", './', './');
// 创建一个span,并设置属性和事件
const span = newSpanAsCurrent("test_trace");
// 设置属性
span.setAttribute("key", "value");
// 添加事件
span.addEvent("event1", {"event_attr": "event_value"});
// 如果失败了,设置trace的状态和错误信息
span.setStatus(getStatus(false), "error message");
// 记录一个埋点
newTrackPoint("test_trace");
span.end();
// 程序结束后关闭observer,这一步是可选的
shutdown();
}
`
`javascript`
const span = newSpanAsCurrent("test_trace", "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxxxx");
span.setAttribute("key", "value");
span.end();
中动态读取 userAliUid,并自动将其附加到埋点数据中。配置文件路径(根据平台自动选择):
- 云手机(Android):
/data/vendor/log/wuying/wobs.config.json
- Windows: C:\ProgramData\wuying\wobs.config.json
- Linux/macOS: /var/log/wuying/wobs.config.json配置文件格式:
`json
{
"userAliUid": "1234567890",
"appInstanceId": "ai-xxx",
"appInstanceGroupId": "aig-xxxx"
}
`功能特性:
- SDK 初始化时自动读取配置文件中的
userAliUid、appInstanceId 和 appInstanceGroupId
- 使用 fs.watch() 实时监控配置文件变化(创建、修改、重命名)
- 无需重启程序,配置文件的修改会立即生效
- 所有字段自动附加到埋点数据的用户信息字段中测试示例:
`bash
node examples/test_userAliUid.js
``注册表读取通过Node.js的child_process模块调用Windows的reg命令实现,无需额外的依赖包。