https://m-cheng-web.github.io/web-tracing-docu/
此项目正进行重构中,在重构完成前已发布的npm包不会继续更新(文档也不会更新),且一期代码已封版移入“1.0”分支,当前main分支会持续更新重构代码(如果这样的模式影响到您,作者表示很抱歉,如果需要支持请随时联系我)
- 简单支持 vue2 + vue3
- 自动采集 + 暴露api给用户手动采集上报
- 采集功能:【用户事件采集、页面跳转采集、请求采集、错误采集、资源加载采集】
- 采集上传方法:只提供 sendBeacon(内部自动降级为image)
- 整体代码结构更改
- 现有bug解决
- 文档系统与sdk核心代码融合 (vuepress -> vitepress)
- js -> ts
- 更好的兼容 vue2、vue3(react以及小程序优先级靠后一些)
- 支持暴露更多变量(例如最大缓存数、延迟上传时间、dom埋点名称等等)
- 支持hook以及自定义hook
- 支持加密传输(加密方式待确定)
- 关于用户信息的重构 - 【1.分为未登录与已登录的场景,登录后进行绑定,机器与用户id进行多对多绑定(更多方案还在确定中) 2.支持动态修改用户信息】
- 支持更多上传方式
- 支持延迟加载sdk、异步发送敏感数据
- 支持暴露更多sdk内部方法(例如使用者想要拿到此时的硬件数据)
- 支持抽样发送,数据临时存储本地的形式减少服务端压力(这里同样也支持断网续联后发送)
- 支持更多的事件以及行为监听
- 支持对特定dom监控事件(例如监控页面button按钮的点击事件,这在大批量埋点场景中比较需要,另提供一些属性来标识特定按钮无需采集)
- 支持区间打点,区间采集
- 支持区域曝光度采集
- 支持静默(通过配置来设定遇到大批量事件时sdk静默或者用范围时间记录上报,例如当大批量报错时)
- 支持错误信息去重(并自动转为区间事件)
- 为 vue3 提供一系列个性化hooks
- sourcemap 错误跟踪
- 最大上传长度限定
- 提供 ignoreErrors,ignoreRequest 等
- 白屏检测
- 首次首屏数据更精确化
- demo官网示例更简单化且提供在线编写能力
- 探索:一些关键性的api能让使用者去替代更改、比如监听网络状态的内部实现支持使用者去重写
- 探索:插件化(核心功能+其他插件的形式)
- 探索:错误录屏
先 pnpm install
第一步:初始化所有测试项目仓库
nr test:install
第二步:打包并监听各个sdk
nr watch
第三步:运行js测试项目
nr test:js
nr test:vue2 (也可以运行vue2测试项目)
nr test:vue3 (也可以运行vue3测试项目)
nr docs (文档调试)
如果您觉得这个项目还不错, 可以在 Github 上面帮我点个star
, 支持一下作者ヾ(◍°∇°◍)ノ゙