流量指标
正在加载今日诗词....
2022-05-15

流量指标

页面访问行为

指标库

  • PV:页面浏览量,count(type = pv)
  • UV:用户浏览量,count(type = pv, distinct visitor_id)
    • visitor_id 不能 null
      • 对于未登录用户,需要在客户端生成 visitor_id(uuid 持久化存储)
      • 对于已登录用户,需要获取用户的 user_id,并将 user_id 写入 visitor_id
  • PV点击率:页面点击率,count(type = click) / PV
    • 可以大于100%
  • UV点击率:用户点击率,count(type = click, distinct visitor_id) / UV
    • 不可以大于100%
  • 停留时长:用户从打开页面到关闭页面的总时长,leave page time(beforeunonload) - open time(onload)

可视化

  • 通过折线图的方式,展示24小时内每小时页面指标
  • 通过表格的方式,展示一定时间段内页面的指标

模块访问行为

指标库

  • 模块曝光:模块显示时发送的埋点,count(type = exp, mod=mod_id)
  • 模块点击:模块被点击时发送的埋点,count(type = click, mod=mod_id)

可视化

  • 通过表格的方式,展示某个页面中所有模块的曝光和点击数据

页面的性能

指标库

  • 首屏渲染时间:从打开页面到页面完全加载的时间,计算公式:
window.onload = function() {
 new Date().getTime() - performance.timing.navigationStart 
}
  • API请求时间:API发起,到API响应的时间,计算公式:API响应时间 - API发起时间

可视化

  • 折线图
  • 表格

页面异常监控

指标库

  • JS Error:
    • 全局的jserror:window.onerror
    • 全局的promise error:window.onunhandledrejection
    • 自定义抛出的jserror:自定义上报 stack 和 message
  • API Error:API响应过程中,出现异常的信息, count(type = api_error)
  • 业务异常:完全上报的方式进行实现,count(type = biz_error)

可视化

  • 折线图
  • 表格

改动点

  • 页面

    1. (已完成)在 imooc_monitor 表中添加 user_id 和 visitor_id 两个字段
    2. (已完成)在 SDK 中添加获取 user_id 和 visitor_id 的逻辑,并判断当 visitor_id 不存在时,自动生成
    3. (已完成)在 SDK 中针对页面 click 事件进行监听,当触发 click 事件时自动进行上报
    4. (已完成)在 SDK 中添加自动获取用户停留时长的逻辑

    参考:https://developer.mozilla.org/zh-CN/docs/conflicting/web/api/window/beforeunload_event

  • 模块

    1. (已完成)在 imooc_monitor 表中添加 mod_id 字段,用于标识模块曝光和点击信息
    2. (已完成)在 SDK 中添加上报日志时,获取 mod_id 的逻辑
  • 性能

    1. (已完成)在 SDK 中添加性能采集日志,并自动完成上报
    2. (已完成)在 SDK 中添加上报 API 请求时间的 API
  • 异常

    1. (已完成)在 SDK 中添加全局异常监控日志上报
    2. (已完成)在 SDK 中添加全局promise异常监控日志上报
    3. (已完成)在 SDK 中添加自定义上报 API
    4. (已完成)在 SDK 中添加 API 异常上报 API
    5. (已完成)在 SDK 中添加业务异常上报 API

Copyright © 2022 @filway

  • ☀️
  • 🌑