前端监控之用户行为监控实践1(数据收集)

前文对前端监控进行了简单介绍,起因是因为当前做的一个需求,老板要看当前项目的uv、pv信息。其实这是非常简单的统计。 但在最开始接到这个需求,却难倒我了。 现在进行简单的复盘,记录一下实现方法。 

一、数据记录

用户行为从大类上主要分为两个方面:

① 页面浏览行为 ② 操作行为

统一埋点函数

基于此共识,首先封装一个统一的埋点函数,代码如下:

export const captureMessage = async (type: 'browse' | 'action', content: string, title?: string) => {
  // 省略了判断开发环境时,在本地打印的代码
  const data = { type, content, title };
  // 这里调用的是统一封装的请求函数
  await post('userlog', data, { 'Content-Type': 'application/json; charset=utf-8' });
};

然后,采用的埋点方式,是在上文中提到的(前端监控简介_艾米栗写代码的博客-CSDN博客)手动埋点。 

页面浏览埋点

我们最初的埋点比较简单,主要是对 url 的埋点。而在 vue 中,url 的跳转主要是通过路由实现的,因此,只需要在全局检测路由的变化。代码如下:

    watch(() => route.fullPath, () => {
      const title = (route.meta?.title ?? '') as string
      const url: string = (route as any).fullPath || route.path
      captureMessage('browse', url, title)
    })

操作行为埋点  

而操作行为的埋点同理,只需在需要监控的操作事件响应函数中,插入captureMessage 函数即可。

二、打补丁

问题分析

以上是我们最开始的记录方式,原则上,这样记录是能够满足后续的分析需求的。

注意,这也只是理论上可行。 但后续,产品提出要分析某个页面下不同子页面的pv、uv 情况。但项目当前的情况是,这个页面下的URL极其混乱,无法进行统一分析。为了满足分析需要,需要对这个页面下的 URL 进行统一化。

具体说来,页面的URL 为 /report。

进来之后的初始页面默认为子页面 1,这里我们设 子页面1名称为 table1.

在切换报表时,其 URL 会响应为子页面名称 ,即 /report/tableName。

但除此之外,该页面下还存在另外三种URL类型。

类型1:ID 类的 URL 是报表最开始的迭代方式,其ID 为 数字,即 /report/numberID

类型2:模板类的URL 记录的是,某一子页面下的用户选择项。其模板ID通过MD5生成,URL 为: /report/templateID。

类型3:具体信息类,从其他页面跳转到该子页面,携带的是具体请求信息。其URL 为:

/report?query=***(query 为对象,进行 encode 编码)

为了满足报表统计的需要,需要对不同URL进行统一,而统一的方式为,在 当前URL 的后面,加上 /table/tableName 。

即:

/report --> /report/table1

/report/tableName --> /report/tableName (保持不变)

/report/numberID --> /report/numberID/table/tableName 

/report/templateID --> /report/templateID/table/tableName

/report?query=*** --> /report?query=***/table/tableName

numberID和 templateID 对应的tableName在对应的数据库中可以查询到。

描述完了要做的事情,上代码咯!

问题解决(补丁)

代码

export const getEventTableUrl = async (content:string) => {
  
  let table = ''

  const eventUrl = content.replace('/report', '')

  // 情况1: content 为 report/table/tableName
  if(eventUrl.startsWith('/table')){
    table = ''
  }
  else if(eventUrl === '') {
    // 情况2: content 仅为: /report    
    table = DEFAULT_QUERY_TABLE
  }
  else if(eventUrl.includes('?')) {
    // 情况3: content 为:/report?query=*** 参数中有query,解析query 参数获得queryKey
    // 匹配query参数
    const matchContent = eventUrl.match(/[?&]query=([^&/]*)&?/)
    table = getTableFromQuery(matchContent ? matchContent[1] : '')
  }
  else {
    // 情况4:content为:/report/***(id) 从模板id 或 eventid 中获得querykey
    table = await getTableFromTemplate(eventUrl.split('/')[1])
  }
  
  if(!table) return content;

  return `${content}/table/${table}`
}

统一代码过程中,有两个小细节花费了较多时间。 

细节1: 拿到 URL 中的 query 参数内容

如何拿到get 请求中的参数信息,这是一个老生长谈的话题了。解决方法也是多种多样,在网上一搜,有人暴力破解和匹配的,有人调用函数的,有人用正则的。

比如: JavaScript 正则表达式获取url后的内容(第一个问号后的内容)_白菜new的博客-CSDN博客

而我,最开始的想法是,寻找 node 中是否提供了通用的解决方案。

哎嘿,还真的有:

MDN官方文档:

URL API - Web APIs | MDN

来自鑫旭大佬的详细介绍:

JS URL()和URLSearchParams() API接口详细介绍 « 张鑫旭-鑫空间-鑫生活

实例代码如下: 

//截取问号之后的字符串
const search = eventUrl.match(/\?(\S*)/) 
// 获取query参数
const queryParam = new URLSearchParams(search ? search[0] : '').get('query')

 但是,我们组长在review 这段代码之后,他觉得,这样不够简洁,应该直接用正则进行匹配。。。

于是,迫于”强权“之下代码变成了这样

eventUrl.match(/[?&]query=([^&/]*)&?/)

虽然正则看起来很简洁,可是,大家的正则水平真的能一眼看懂这行代码是在干嘛么???

我经验少,咱也不知道是不是自己太菜,我只能加上注释为后来的人默默助力。。。

 但是呢,一味抗拒对于自己的成长是不利的,在此之下,我还是对正则进行了一番研究。

我发现,正则可以在 match、replace 等都可以使用。

可参考文章: 正则表达式和字符串的方法

细节2: 解析 query 参数

在解析上面提到的带有 query 参数的 URL 时,发生了两个意外情况。

1、无法解码

前端基础-encodeURIComponent原理 | 华仔的博客

2、无法将string转化为对象

这是因为,用户可以对url进行编辑,这就有可能导致,记录的query 可能信息不全。甚至query中有一些会解析出错的消息,比如说,有一些无法解码的 + 号。

因此,在解码和转化为对象的时候,需要进行错误捕获。

/** 解析string为json */
export const parseString = (str:string): Record<string,any>| null => {
  try {
    return JSON.parse(str)
  } catch {
    return null
  }
}

/** 解析 URI */
export const decodeUri = (uri: string) => {
  try {
    return decodeURIComponent(uri)
  } catch {
    return ''
  }
}

 通过以上的方式,我们就可以统计到需要进行数据分析的元信息了。

接下来就是进行数据分析了。

三、统计信息

这一部分我将用另外的篇幅去总结。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》结合了很多工作中的实际案例,图文并茂,既适合渴望了解性能测试的新人,也适合对性能测试有一定认识和经验的中、高级测试工程师。同时,《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》也可以作为高校开展性能测试课程的参考教材,让在校学生能对性能测试的本质和价值有一定的认识。 《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》是一本基于HP LoadRunner 11工具的指导用书,从性能测试原理到工具使用再到项目实施,全面介绍了性能测试的各个方面,其内容基本主线说明如下。 第一步(了解理论):磨刀不误砍柴工,打下基础;第二步(掌握工具):深入介绍LoadRunner 11工具三大部分(Virtual User Generator、Controller、Analysis)如何实现用户行为的模拟、性能指标的监控、负载的生成及后期的数据分析;第三步(项目实施):理论联系实际,介绍性能测试项目实施的流程和性能测试部门的组织管理;第四步(进阶提升):对一些当下流行的或比较特殊的协议和开发技巧通过真实案例进行介绍。 基础篇 第1章 性能测试基础 1.1 性能测试工程师的标准及挑战 1.1.1 性能测试工程师的考评指标 1.1.2 性能测试工程师的挑战 1.2 性能测试基础 1.2.1 性能定义 1.2.2 性能指标 1.2.3 单机与网络性能测试 1.2.4 性能测试的流程 1.2.5 性能测试招聘要求 1.2.6 性能测试学习阶段 1.3 性能分析与调优 1.3.1 性能分析及调优原理 1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议分析 2.5.1 HTTP详细介绍 2.5.2 HTTP报文结构 2.5.3 HTTP请求 2.5.4 HTTP应答 2.5.5 HTTP捕获 2.5.6 HTTP回放 2.6 安装 2.6.1 在Windows下安装LoadRunner 2.6.2 安装Load Generator 2.6.3 附加组件 2.6.4 LoadRunner License 2.7 LoadRunner性能测试操作流程预览 2.8 小结 第3章 用户行为模拟 3.1 VuGen界面介绍 3.1.1 Tree图形化模式 3.1.2 脚本模式 3.1.3 Output Window 3.2 录制用户行为 3.2.1 录制流程 3.2.2 协议选择 3.2.3 录制选项 3.2.4 开始录制 3.2.5 插入命令 3.2.6 结束录制 3.2.7 回放验证 3.2.8 录制回放常见问题 3.3 脚本开发 3.3.1 Action简介 3.3.2 脚本如何注释 3.3.3 语言规则 3.3.4 如何使用模板 3.3.5 脚本的导入导出 3.3.6 脚本调试 3.4 通用选项(General Options) 3.4.1 Parameterization标签 3.4.2 Replay标签 3.4.3 Environment标签 3.4.4 Display标签 3.4.5 Correlation标签 3.5 运行设置(Run-Time Setting) 3.5.1 Run Logic 3.5.2 Pacing 3.5.3 Log 3.5.4 Think Time 3.5.5 Additional attributes 3.5.6 Miscellaneous 3.5.7 Speed Simulation 3.5.8 Browser Emulation 3.5.9 Preferences 3.5.10 Download Filters 3.5.11 Data Format Extensions 3.6 参数化 3.6.1 参数化的操作 3.6.2 Parameter List界面介绍 3.6.3 VuGen中的参数 3.6.4 Controller中的参数 3.6.5 同行取值(Same line as) 3.6.6 参数类型 3.6.7 数据向导(Data Wizard) 3.6.8 参数和变量 3.7 关联 3.7.1 关联原理 3.7.2 自动关联 3.7.3 手动关联 3.7.4 一边录制一边关联 3.7.5 关联函数web_reg_save_param_ex详解 3.7.6 关联函数web_reg_save_param_regexp详解 3.7.7 关联函数web_reg_save_param_xpath详解 3.7.8 关联函数的高级使用 3.8 检查点 3.8.1 文本检查点 3.8.2 自动检查点 3.8.3 图片检查点 3.9 事务 3.9.1 响应时间 3.9.2 添加事务 3.9.3 事务时间 3.9.4 手工事务 3.10 集合点 3.11 小结 第4章 负载生成及监控Controller 4.1 设计场景 4.1.1 新建场景 4.1.2 负载生成器管理 4.1.3 用户管理 4.1.4 运行设置 4.1.5 IP虚拟 4.1.6 场景运行原理 4.1.7 Service Level Agreement(服务品质保障) 4.2 系统监控 4.2.1 Scenario Groups(场景用户状态) 4.2.2 Scenario Status(场景运行状态) 4.2.3 计数器原理 4.2.4 计数器管理 4.2.5 SiteScope 4.3 场景运行 4.4 QTP脚本在场景中的运行 4.5 场景数据 4.6 小结 第5章 数据收集分析Analysis 5.1 新建Analysis分析 5.2 Analysis Summary 5.2.1 Analysis Summary(场景的摘要) 5.2.2 Statistics Summary(场景状态的统计说明) 5.2.3 5 Worst Transaction(SLA失败事务) 5.2.4 Scenario Behavior Over Time(场景行为综述) 5.2.5 Transaction Summary(事务摘要) 5.2.6 HTTP Responses Summary(HTTP响应摘要) 5.3 Graphs(数据图) 5.3.1 Vusers(虚拟用户状态) 5.3.2 Errors(错误统计) 5.3.3 Transactions(事务) 5.3.4 Web Resources(网页资源信息) 5.3.5 Web Page Diagnostics(网页分析) 5.3.6 Network Monitor(网络监控) 5.3.7 Resources(资源监控) 5.4 图设置与操作 5.4.1 Merge Graphs(合并图) 5.4.2 Auto Correlate(自动定位瓶颈) 5.5 Transaction Report(事务报告) 5.6 SLA Report(系统阈值监控报告) 5.7 External Monitor(外部监控数据导入) 5.8 Cross with result(跨脚本横向比较) 5.9 生成测试报告 5.9.1 New Report(新建报告) 5.9.2 Reprt Templates(报告模板) 5.9.3 HTML报告 5.10 小结 实战篇 第6章 性能测试实战 6.1 计划测试 6.1.1 分析系统阶段 6.1.2 定义测试目标 6.1.3 明确定义概念 6.1.4 编写性能测试计划 6.1.5 编写性能测试方案 6.1.6 编写性能测试用例 6.2 搭建测试环境 6.2.1 测试平台评估 6.2.2 数据生成 6.2.3 测试环境搭建手册 6.3 创建脚本 6.3.1 用户注册 6.3.2 用户查询 6.3.3 用户看帖 6.3.4 用户回帖 6.4 创建场景 6.4.1 场景设计 6.4.2 负载监控 6.5 运行场景 6.5.1 场景运行Checklist 6.5.2 场景运行记录 6.6 分析性能数据 6.6.1 性能调优原理 6.6.2 前端性能分析 6.6.3 后端性能分析 6.7 性能测试报告 6.7.1 平台对比性能测试报告 6.7.2 Phpwind85性能分析报告 6.7.3 DiscuzX2 VS Phpwind85性能对比报告 6.7.4 Phpwind85验收指标性能测试报告 6.7.5 Phpwind85压力测试报告 6.8 小结 第7章 性能测试组织 7.1 性能测试团队 7.2 性能测试流程分工 7.3 配置管理 7.4 性能测试自动化 7.5 小结 第8章 高级脚本开发 8.1 AJAX
第1章 面向服务的体系架构(SOA) 1   本章主要介绍和解决以下问题,这些也是全书的基础:   HTTP协议的工作方式与HTTP网络协议栈的结构。   如何实现基于HTTP协议和TCP协议的RPC调用,它们之间有何差别,分别适应何种场景。   如何实现服务的动态注册和路由,以及软负载均衡的实现。   1.1 基于TCP协议的RPC 3   1.1.1 RPC名词解释 3   1.1.2 对象的序列化 4   1.1.3 基于TCP协议实现RPC 6   1.2 基于HTTP协议的RPC 9   1.2.1 HTTP协议栈 9   1.2.2 HTTP请求与响应 15   1.2.3 通过HttpClient发送HTTP请求 16   1.2.4 使用HTTP协议的优势 17   1.2.5 JSON和XML 18   1.2.6 RESTful和RPC 20   1.2.7 基于HTTP协议的RPC的实现 22   1.3 服务的路由和负载均衡 30   1.3.1 服务化的演变 30   1.3.2 负载均衡算法 33   1.3.3 动态配置规则 39   1.3.4 ZooKeeper介绍与环境搭建 40   1.3.5 ZooKeeper API使用简介 43   1.3.6 zkClient的使用 47   1.3.7 路由和负载均衡的实现 50   1.4 HTTP服务网关 54   第2章 分布式系统基础设施 58   本章主要介绍和解决如下问题:   分布式缓存memcache的使用及分布式策略,包括Hash算法的选择。   常见的分布式系统存储解决方案,包括MySQL的分布式扩展、HBase的API及使用场景、Redis的使用等。   如何使用分布式消息系统ActiveMQ来降低系统之间的耦合度,以及进行应用间的通信。   垂直化的搜索引擎在分布式系统中的使用,包括搜索引擎的基本原理、Lucene详细的使用介绍,以及基于Lucene的开源搜索引擎工具Solr的使用。   2.1 分布式缓存 60   2.1.1 memcache简介及安装 60   2.1.2 memcache API与分布式 64   2.1.3 分布式session 69   2.2 持久化存储 71   2.2.1 MySQL扩展 72   2.2.2 HBase 80   2.2.3 Redis 91   2.3 消息系统 95   2.3.1 ActiveMQ & JMS 96   2.4 垂直化搜索引擎 104   2.4.1 Lucene简介 105   2.4.2 Lucene的使用 108   2.4.3 Solr 119   2.5 其他基础设施 125   第3章 互联网安全架构 126   本章主要介绍和解决如下问题:   常见的Web攻击手段和防御方法,如XSS、CRSF、SQL注入等。   常见的一些安全算法,如数字摘要、对称加密、非对称加密、数字签名、数字证书等。   如何采用摘要认证方式防止信息篡改、通过数字签名验证通信双方的合法性,以及通过HTTPS协议保障通信过程中数据不被第三方监听和截获。   在开放平台体系下,OAuth协议如何保障ISV对数据的访问是经过授权的合法行为。   3.1 常见的Web攻击手段 128   3.1.1 XSS攻击 128   3.1.2 CRSF攻击 130   3.1.3 SQL注入攻击 133   3.1.4 文件上传漏洞 139   3.1.5 DDoS攻击 146   3.1.6 其他攻击手段 149   3.2 常用的安全算法 149   3.2.1 数字摘要 149   3.2.2 对称加密算法 155   3.2.3 非对称加密算法 158   3.2.4 数字签名 162   3.2.5 数字证书 166   3.3 摘要认证 185   3.3.1 为什么需要认证 185   3.3.2 摘要认证的原理 187   3.3.3 摘要认证的实现 188   3.4 签名认证 192   3.4.1 签名认证的原理 192   3.4.2 签名认证的实现 193   3.5 HTTPS协议 200   3.5.1 HTTPS协议原理 200   3.5.2 SSL/TLS 201   3.5.3 部署HTTPS Web 208   3.6 OAuth协议 215   3.6.1 OAuth的介绍 215   3.6.2 OAuth授权过程 216   第4章 系统稳定性 218   本章主要介绍和解决如下问题:   常用的在线日志分析命令的使用和日志分析脚本的编写,如cat、grep、wc、less等命令的使用,以及awk、shell脚本的编写。   如何进
《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》结合了很多工作中的实际案例,图文并茂,既适合渴望了解性能测试的新人,也适合对性能测试有一定认识和经验的中、高级测试工程师。同时,《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》也可以作为高校开展性能测试课程的参考教材,让在校学生能对性能测试的本质和价值有一定的认识。 《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》是一本基于HP LoadRunner 11工具的指导用书,从性能测试原理到工具使用再到项目实施,全面介绍了性能测试的各个方面,其内容基本主线说明如下。 第一步(了解理论):磨刀不误砍柴工,打下基础;第二步(掌握工具):深入介绍LoadRunner 11工具三大部分(Virtual User Generator、Controller、Analysis)如何实现用户行为的模拟、性能指标的监控、负载的生成及后期的数据分析;第三步(项目实施):理论联系实际,介绍性能测试项目实施的流程和性能测试部门的组织管理;第四步(进阶提升):对一些当下流行的或比较特殊的协议和开发技巧通过真实案例进行介绍。 基础篇 第1章 性能测试基础 1.1 性能测试工程师的标准及挑战 1.1.1 性能测试工程师的考评指标 1.1.2 性能测试工程师的挑战 1.2 性能测试基础 1.2.1 性能定义 1.2.2 性能指标 1.2.3 单机与网络性能测试 1.2.4 性能测试的流程 1.2.5 性能测试招聘要求 1.2.6 性能测试学习阶段 1.3 性能分析与调优 1.3.1 性能分析及调优原理 1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议分析 2.5.1 HTTP详细介绍 2.5.2 HTTP报文结构 2.5.3 HTTP请求 2.5.4 HTTP应答 2.5.5 HTTP捕获 2.5.6 HTTP回放 2.6 安装 2.6.1 在Windows下安装LoadRunner 2.6.2 安装Load Generator 2.6.3 附加组件 2.6.4 LoadRunner License 2.7 LoadRunner性能测试操作流程预览 2.8 小结 第3章 用户行为模拟 3.1 VuGen界面介绍 3.1.1 Tree图形化模式 3.1.2 脚本模式 3.1.3 Output Window 3.2 录制用户行为 3.2.1 录制流程 3.2.2 协议选择 3.2.3 录制选项 3.2.4 开始录制 3.2.5 插入命令 3.2.6 结束录制 3.2.7 回放验证 3.2.8 录制回放常见问题 3.3 脚本开发 3.3.1 Action简介 3.3.2 脚本如何注释 3.3.3 语言规则 3.3.4 如何使用模板 3.3.5 脚本的导入导出 3.3.6 脚本调试 3.4 通用选项(General Options) 3.4.1 Parameterization标签 3.4.2 Replay标签 3.4.3 Environment标签 3.4.4 Display标签 3.4.5 Correlation标签 3.5 运行设置(Run-Time Setting) 3.5.1 Run Logic 3.5.2 Pacing 3.5.3 Log 3.5.4 Think Time 3.5.5 Additional attributes 3.5.6 Miscellaneous 3.5.7 Speed Simulation 3.5.8 Browser Emulation 3.5.9 Preferences 3.5.10 Download Filters 3.5.11 Data Format Extensions 3.6 参数化 3.6.1 参数化的操作 3.6.2 Parameter List界面介绍 3.6.3 VuGen中的参数 3.6.4 Controller中的参数 3.6.5 同行取值(Same line as) 3.6.6 参数类型 3.6.7 数据向导(Data Wizard) 3.6.8 参数和变量 3.7 关联 3.7.1 关联原理 3.7.2 自动关联 3.7.3 手动关联 3.7.4 一边录制一边关联 3.7.5 关联函数web_reg_save_param_ex详解 3.7.6 关联函数web_reg_save_param_regexp详解 3.7.7 关联函数web_reg_save_param_xpath详解 3.
《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》结合了很多工作中的实际案例,图文并茂,既适合渴望了解性能测试的新人,也适合对性能测试有一定认识和经验的中、高级测试工程师。同时,《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》也可以作为高校开展性能测试课程的参考教材,让在校学生能对性能测试的本质和价值有一定的认识。 《测试实践丛书:性能测试进阶指南·LoadRunner 11实战》是一本基于HP LoadRunner 11工具的指导用书,从性能测试原理到工具使用再到项目实施,全面介绍了性能测试的各个方面,其内容基本主线说明如下。 第一步(了解理论):磨刀不误砍柴工,打下基础;第二步(掌握工具):深入介绍LoadRunner 11工具三大部分(Virtual User Generator、Controller、Analysis)如何实现用户行为的模拟、性能指标的监控、负载的生成及后期的数据分析;第三步(项目实施):理论联系实际,介绍性能测试项目实施的流程和性能测试部门的组织管理;第四步(进阶提升):对一些当下流行的或比较特殊的协议和开发技巧通过真实案例进行介绍。 基础篇 第1章 性能测试基础 1.1 性能测试工程师的标准及挑战 1.1.1 性能测试工程师的考评指标 1.1.2 性能测试工程师的挑战 1.2 性能测试基础 1.2.1 性能定义 1.2.2 性能指标 1.2.3 单机与网络性能测试 1.2.4 性能测试的流程 1.2.5 性能测试招聘要求 1.2.6 性能测试学习阶段 1.3 性能分析与调优 1.3.1 性能分析及调优原理 1.3.2 常见系统性能瓶颈 1.3.3 性能测试的注意要点 1.4 小结 工具篇 第2章 LoadRunner综述 2.1 LoadRunner简介 2.2 LoadRunner工具组成 2.3 性能测试原理 2.4 自动化测试工具和性能测试工具的区别 2.5 协议分析 2.5.1 HTTP详细介绍 2.5.2 HTTP报文结构 2.5.3 HTTP请求 2.5.4 HTTP应答 2.5.5 HTTP捕获 2.5.6 HTTP回放 2.6 安装 2.6.1 在Windows下安装LoadRunner 2.6.2 安装Load Generator 2.6.3 附加组件 2.6.4 LoadRunner License 2.7 LoadRunner性能测试操作流程预览 2.8 小结 第3章 用户行为模拟 3.1 VuGen界面介绍 3.1.1 Tree图形化模式 3.1.2 脚本模式 3.1.3 Output Window 3.2 录制用户行为 3.2.1 录制流程 3.2.2 协议选择 3.2.3 录制选项 3.2.4 开始录制 3.2.5 插入命令 3.2.6 结束录制 3.2.7 回放验证 3.2.8 录制回放常见问题 3.3 脚本开发 3.3.1 Action简介 3.3.2 脚本如何注释 3.3.3 语言规则 3.3.4 如何使用模板 3.3.5 脚本的导入导出 3.3.6 脚本调试 3.4 通用选项(General Options) 3.4.1 Parameterization标签 3.4.2 Replay标签 3.4.3 Environment标签 3.4.4 Display标签 3.4.5 Correlation标签 3.5 运行设置(Run-Time Setting) 3.5.1 Run Logic 3.5.2 Pacing 3.5.3 Log 3.5.4 Think Time 3.5.5 Additional attributes 3.5.6 Miscellaneous 3.5.7 Speed Simulation 3.5.8 Browser Emulation 3.5.9 Preferences 3.5.10 Download Filters 3.5.11 Data Format Extensions 3.6 参数化 3.6.1 参数化的操作 3.6.2 Parameter List界面介绍 3.6.3 VuGen中的参数 3.6.4 Controller中的参数 3.6.5 同行取值(Same line as) 3.6.6 参数类型 3.6.7 数据向导(Data Wizard) 3.6.8 参数和变量 3.7 关联 3.7.1 关联原理 3.7.2 自动关联 3.7.3 手动关联 3.7.4 一边录制一边关联 3.7.5 关联函数web_reg_save_param_ex详解 3.7.6 关联函数web_reg_save_param_regexp详解 3.7.7 关联函数web_reg_save_param_xpath详解 3.
Web前端监控解决数据采集问题的科学性主要体现在以下几个方面: 1. 数据采集技术的不断进步:随着互联网技术的不断发展和创新,数据采集技术也在不断改进和完善。目前,Web前端监控中采用的数据采集技术已经相当成熟和科学,如使用JavaScript代码收集网站或应用的信息、使用API接口采集数据等。 2. 数据采集算法的优化:针对数据采集问题,Web前端监控可以采用优化算法,如使用分布式架构、数据压缩技术等,来提高数据采集的效率和准确性。 3. 数据质量控制:Web前端监控中采集的数据需要经过有效的质量控制,以确保数据的准确性和可靠性。监控系统可以采用数据清洗、去重、异常检测等技术,对采集到的数据进行处理和筛选,从而提高数据质量。 4. 数据存储和管理:Web前端监控需要采集大量的数据,因此需要建立完善的数据存储和管理系统,以便于对数据的查询、分析和使用。目前,Web前端监控中常用的数据存储和管理技术包括关系型数据库、非关系型数据库、内存数据库等。 综上所述,Web前端监控解决数据采集问题的科学性主要体现在采用成熟和科学的数据采集技术、优化数据采集算法、进行数据质量控制以及建立完善的数据存储和管理系统等方面。这些技术和方法的应用,可以有效解决数据采集问题,提高Web前端监控的效率和准确性,从而帮助企业或个人及时发现问题和瓶颈,提升网站或应用的性能和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值