Elasticsearch APM RUM 页面停留时间/会话持续时间

问题描述

有没有办法让 APM 真实用户监控(Javascript 代理)跟踪用户页面上停留的时间?

我目前使用的是 Elasticsearch v7.11.2

我知道时间跟踪不在当前列表中 可用功能;有什么办法可以做到吗 通过,例如使用事务跨度或纯 JS?

解决方法

RUM 主要返回following data/metrics

  • 页面加载指标
  • 静态资源(JS、CSS、图像、字体等)的加载时间
  • API 请求(XMLHttpRequest 和 Fetch)
  • 单页应用导航
  • 用户交互(触发网络活动的点击事件)
  • 以用户为中心的指标(长任务、FCP、LCP、FID 等)
  • 页面信息(访问的 URL 和引荐来源网址)
  • 网络连接信息
  • JavaScript 错误
  • 分布式追踪
  • 细分指标

页面停留时间不是其中之一。此外,可能还有其他比页面停留时间更有趣的指标,例如 average session durationdwell time

由于每个事务都包含以微秒为单位的持续时间...

      "transaction" : {
        "duration" : {
          "us" : 17385392
        },

...您可以使用 well-known JS techniques 来检测用户何时登陆页面以及何时离开,然后您可以利用 Transactions API 来衡量一个系列所花费的时间用户在您的页面上时发生的事件。