背景
此方案基于RUM之SPA应用性能的可观测,欢迎查看点赞、评论和收藏。
正文:基本思路
实现需要VIP客户关系的绑定:一种思路是使用客户的user体系,另一种思路是使用追踪ID。
逻辑关系
基本介绍
思路一
通过sdk的自定义userId或者tag的方式实现,这里使用客户自己的用户体系。
userID实现
# 引入sdk import { datafluxRum } from '@cloudcare/browser-rum' # 根据vip逻辑设置用户标识 if(VIP) datafluxRum.setUser({ id: VIP标识, })
查看
自定义tag实现
# 引入sdk import { datafluxRum } from '@cloudcare/browser-rum' # 根据信息写入tag datafluxRum.addRumGlobalContext("uId", 17600353988); datafluxRum.addRumGlobalContext("uAddress", "广东省增城丽维家中心"); datafluxRum.addRumGlobalContext("uBussiness", "家具业务线"); datafluxRum.addRumGlobalContext("uToken",uToken); datafluxRum.addRumGlobalContext("custom",{ uId:17600353988, uAddress:"广东省增城丽维家中心", uToken:m, "uBussiness": "家具业务线" })
查看
这里能根据会话看到用户访问的轨迹,也就是页面浏览的行为,点击数据,资源加载数据,以及页面切换情况,
会话轨迹
会话情况包含:
页面性能
请求情况,能追踪到后端和数据库详情
后端的每个类 数据查询的语句的详细情况
错误情况
错误详情
字段 | 类型 | 描述 |
error_source |
string | 错误来源,参考值:console |
error_type |
string | 错误类型,参考链接:error type |
resource_status |
string | 资源请求返回的状态值 |
resource_url |
string | 资源 URL |
resource_url_host |
string | 资源 URL 域名部分 |
resource_url_path |
string | 资源 URL path 部分 |
resource_url_path_group |
string | 资源 URL path 分组 |
resource_method |
string | 资源请求方式 |
还能针对代码级别的错误进行sourcemap 还原 |
思路二
通过是用观测云的trackID的方式实现,这里由客户使用自己的用户体系。
# 引入sdk import { datafluxRum } from '@cloudcare/browser-rum' # 业务逻辑生成用户体系,与trackId 这两者形成绑定关系 if(VIP){ datafluxRum.addRumGlobalContext('track_id','***'); }
查看