Skip to main content

会话追踪

Session支持功能​

  1. 支持查看用户在页面的操作时序图
  2. 支持查看用户的操作轨迹
  3. 支持查看页面action、请求erro信息

Session核心概念定义​

alt text

session​

session开始:浏览器第一次打开页面。

session结束:reload 页面、关闭页面、redirect非本系统页面,都会主动触发 session 终止。如果 15 分钟页面无操作行为,会主动终止 session。

一次 session会话记录的是从 session开始到终止的整个过程。

view​

一次 session可能会包含一个或者多个 view,每次跳转一个页面,都会记录一次view; 上报字段:

字段名类型描述
is_activeboolean指示与此事件对应的视图是否被视为活动的
view_urlstring当前页面view的 url
view_namestring与事件对应的视图的可自定义名称
loading_typestring页面加载的类型:initial_load或route_change
referrerstring上一个网页的 URL,从该网页链接到当前请求的页面

action​

每次页面点击操作都会触发一次 action 记录,一次 action可能会包含多个 resouce 记录或者error记录。

上报字段:

字段名类型描述
action_typestring用户操作的类型,目前只支持 Click
action_namestring用户操作的位置标识
action_target_namestring用户与之交互的元素,div,p,img 等

resource​

页面发起的资源请求记录,包括接口、图片、css、js等

上报字段:

字段名类型描述
resource_typestring正在收集的资源的类型(fetch、xhr、image、font、css或js)
methodstringHTTP 方法(例如POST或GET)
resource_urlstring资源地址
link_trace_idstring设置后台 trace_id,对应 netSpan 的 trace_id,目前仅fetch,xhr 类型的请求有,通过该字段可以快速直达关联的后端服务状态
link_span_idstring设置后台 span_id,对应 netSpan 的 span_id,目前仅fetch,xhr 类型的请求有
resource_status_codestring响应状态代码

error​

捕捉页面的所有错误,包括代码异常、资源请求错误、接口请求错误等信息。

上报字段:

字段名类型描述
codestring返回码:与Span 通用字段的返回码相同,上面已经有定义,不需要重复填
error_msgstring错误消息:与Span 通用字段的返回码相同,上面已经有定义,不需要重复填
error_sourcestring错误源自何处
error_stackstring有关错误的堆栈跟踪或补充信息

Session接入​

浏览器初始化sdk时,添加session:true即可

const aegis = new Aegis({
id : 'xxxxx',
appKey: 'xxxx',
plugin: {
// Session functionality
session: true,
});

会话概览页面​

alt text

  1. 会话筛选,支持根据应用版本,会话ID等字段进行筛选。
  2. 会话指标概览,包括会话上报量和会话错误率。
  3. 会话趋势,包括会话上报量和会话错误率。
  4. 会话列表,点击Session ID可以跳转至会话详情页面。

会话详情页面​

alt text

会话详情页面以单次 Session 为维度,完整还原用户的访问过程,支持查看该会话内的页面访问(View)、用户操作(Action)、API 请求(Resource)、静态资源加载、错误(Error)等事件,并以时间轴时序图的形式直观展示每个事件的发生顺序与耗时分布。

页面主要包含以下几个区域:

1. 会话筛选区​

支持按多种条件精确定位目标会话:

  1. 时间范围:筛选指定时间段内的会话数据。
  2. 上报时间:按事件上报时间排序或筛选。
  3. 会话 ID:输入 Session ID 精确查找某次会话。
  4. 事件耗时:按事件耗时阈值(大于/小于)筛选耗时异常的会话。
  5. 编辑字段:自定义筛选条件和列表展示的字段;支持保存常用筛选记录,方便下次直接使用。

2. Web 性能指标​

展示该会话所属页面加载的核心 Web Vitals 指标及启动性能概览,包括:

  1. 用户体验指标:FCP(首次内容绘制)、LCP(最大内容绘制)、CLS(累积布局偏移)、INP(交互延迟)、TTFB(首字节时间),并给出体验评价(良好/较差)。
  2. 启动性能概览:脚本下载、资源下载、DOM 解析等各阶段耗时,帮助定位页面加载慢的具体环节。

3. 事件类型筛选​

支持按事件类型过滤时序图中的事件,包括:页面访问、操作、静态资源、API 请求等,可叠加组合;同时支持按事件名称或 URL 搜索,快速聚焦关心的请求或操作。

4. 事件时序图(时间轴)​

以会话开始时间为起点,将整个会话内的所有事件按发生顺序排列成瀑布图:

  1. 会话:展示整次会话的总时长。
  2. 页面访问(View):展示每次页面加载/路由跳转的时间点与耗时。
  3. 操作(Action):展示用户点击等交互行为,如"创建智能体"等。
  4. API 请求(Resource):展示接口请求的名称、发生时间与耗时(如 /agents、GetProductOaList 等),请求耗时以色块长度直观呈现,便于识别慢请求。
  5. 事件条目支持展开/收起,点击具体事件可查看详情。

通过时序图可以清晰还原"用户做了什么操作 → 触发了哪些请求 → 是否产生错误"的完整链路,快速定位异常请求、慢接口以及操作与错误之间的因果关系。