一种具有可追溯性的基于线上日志流量回放工具制造技术

技术编号:37843557 阅读:43 留言:0更新日期:2023-06-14 09:49
本发明专利技术公开了一种具有可追溯性的基于线上日志流量回放工具,属于日志流量回放技术领域,包括Web管理端,为具有可追溯性的基于线上日志流量回放工具的主体,Web管理端支持安装录制服务、配置录制服务和接口,进行录制启动、回放、结果查看和历史记录查看。本发明专利技术按域名录制:能够对特定系统服务(通过域名区分)进行线上流量复制,支持通过配置化的操作,用户仅需要填写服务的域名,并选择域名下需要进行压测或者比对的接口名,即可通过这些流量完成单机的性能调优测试,常态化压测,以及对比性回归测试等,可追溯性:每次测试结果均会进行持久化操作,方便测试人员、开发人员进行数据查询以及问题复现,并能够形成某段周期内的趋势性数据。性数据。性数据。

【技术实现步骤摘要】
一种具有可追溯性的基于线上日志流量回放工具


[0001]本专利技术属于日志流量回放
,具体涉及一种具有可追溯性的基于线上日志流量回放工具。

技术介绍

[0002]在技术架构上,新系统和老系统会存在较大的区别,比如新系统的数据库结构和老系统的数据库结构是有较大差别,新系统的接口和老系统的接口也会存在较大的差别。因此,系统重构对于质量保障人员来说,线上的日志可以完整的模拟真实的业务场景,使用真实的业务流对新系统进行测试,可对业务场景的覆盖率有着可靠的保障,为了方便对线上日志流量回放进行处理,因此提出一种具有可追溯性的基于线上日志流量回放工具根据公开号:CN109101423A一种基于服务端日志回放的自动化测试方法,包括:S1、同步新老系统的数据库;S2、确认回放环境是否符合预期;S3、获取回放时间点的线上日志数据;S4、过滤日志,并且提取有用信息将其转换为可执行接口;S5、回放可执行接口:如果新老系统返回结果不一致,暂停S5,确认修复后,重新执行S5;S6、回放完一天数据,切换日期时间;S7、从S3开始,变更日期,继续执行。其通过线上日志回放的测试方法,将线上的日志同时转化成新老系统都可以执行的接口数据,解决测试环境数据场景覆盖的局限性,用真实的流量在测试环境对系统进行测试,不仅可以达到自动化的测试效果,还可以提供真实的数据对这个系统进行验证。
[0003]但是随着微服务架构的普及和应用,一个复杂的单体服务通常会被拆分成多个小而美的微服务, 需要维护的服务数变多,服务之间RPC调用次数增加,随着功能不断地迭代,在测试过程中手写单测会因为复杂的业务逻辑以及复杂的服务调用需要mock多个下游服务,测试要回归的功能越来越多,用例编写和维护都需要耗费大量人力,难以保障完全覆盖全部功能,无法覆盖全部接口类型,线上Bug,线下难以复现,降低了发布频率,很难保证上线完全没问题,不便对子调用进行Mock,对环境和数据依赖高,无法支持接口、接口采样率个性化配置,平台操作友好性差,无法通过平台操作配置变更、录制、回放、结果查看、历史记录查看等。

技术实现思路

[0004]本专利技术的目的在于提供一种具有可追溯性的基于线上日志流量回放工具,以解决上述
技术介绍
中提出的用例编写和维护都需要耗费大量人力,难以保障完全覆盖全部功能,无法覆盖全部接口类型,线上Bug,线下难以复现,降低了发布频率,很难保证上线完全没问题,不便对子调用进行Mock,对环境和数据依赖高,无法支持接口、接口采样率个性化配置,平台操作友好性差,无法通过平台操作配置变更、录制、回放、结果查看、历史记录查看的问题。
[0005]为实现上述目的,本专利技术提供如下技术方案:一种具有可追溯性的基于线上日志流量回放工具,包括Web管理端,为具有可追溯性的基于线上日志流量回放工具的主体,所
述Web管理端支持安装录制服务、配置录制服务和接口,进行录制启动、回放、结果查看和历史记录查看。
[0006]作为一种优选的实施方式,其中录制时由Repeater 启动对service1的录制后,有请求到 service A,console 感知到请求后反馈Repeater。
[0007]作为一种优选的实施方式,其中Repeater对事件进行过滤和采样计算,对满足录制条件的请求会记录请求、响应、子调用和响应形成序列化。
[0008]作为一种优选的实施方式,其中序列化后通知Repeater

console 进行处理,通过ES和DB保存数据。
[0009]作为一种优选的实施方式,其中回放时,用户请求Repeater

console的回放接口,明确需要回放哪条录制数据。
[0010]作为一种优选的实施方式,其中Repeater

console 通过调用Repeater提供的回放任务接收接口下发回放任务。
[0011]作为一种优选的实施方式,其中Repeater在执行回放任务的过程中,会反序列化记录的 wrapperRecord,根据信息构造相同的请求,对被挂载的任务进行请求,并跟踪回放请求的处理流程,以便记录回放结果以及执行 mock 动作。
[0012]作为一种优选的实施方式,其使用步骤包括:S1、启用 redis 插件;S2、录制时,service1 到 reids 等的子请求方法、参数、响应将被录制下来;S3、回放时,当 service A再对 reids 发起请求时,Repeater会先判断是否需要 Mock,当需要Mock时会根据回放上下文中的信息拼接出 MockRequest,通过 mock 策略计算获取 MockResponseS4、回放结束,Repeater会将回放信息和结果序列化后通知Repeater
ꢀ‑
console进行处理,console通知ES和DB保存数据。
[0013]与现有技术相比,本专利技术的有益效果是:该种具有可追溯性的基于线上日志流量回放工具按域名录制:能够对特定系统服务(通过域名区分)进行线上流量复制,支持通过配置化的操作,用户仅需要填写服务的域名,并选择域名下需要进行压测或者比对的接口名,即可通过这些流量完成单机的性能调优测试,常态化压测,以及对比性回归测试等;该种具有可追溯性的基于线上日志流量回放工具无感知:复制数据对用户是完全透明、无感知的,充分考虑用户数据的安全性,不会存在数据泄露的问题;该种具有可追溯性的基于线上日志流量回放工具可追溯性:每次测试结果均会进行持久化操作,方便测试人员、开发人员进行数据查询以及问题复现,并能够形成某段周期内的趋势性数据;该种具有可追溯性的基于线上日志流量回放工具可扩展性:流量复制服务,流量回放服务都是分布式实现,并统一进行调度管理,非常易于扩展;该种具有可追溯性的基于线上日志流量回放工具按接口录制配置:可以设置接口录制范围,根据不同的接口qps赋予接口级别采样率。
附图说明
[0014]图1是本专利技术具有可追溯性的基于线上日志流量回放工具的系统图;图2是本专利技术监控的系统图;图3是本专利技术回放的系统图。
实施方式
[0015]下面结合实施例对本专利技术做进一步的描述。
[0016]以下实施例用于说明本专利技术,但不能用来限制本专利技术的保护范围。实施例中的条件可以根据具体条件做进一步的调整,在本专利技术的构思前提下对本专利技术的方法简单改进都属于本专利技术要求保护的范围。
[0017]请参阅图1

3,本专利技术提供一种具有可追溯性的基于线上日志流量回放工具,包括Web管理端,为具有可追溯性的基于线上日志流量回放工具的主体,所述Web管理端支持安装录制服务、配置录制服务和接口,进行录制启动、回放、结果查看和历史记录查看。
[0018]具体的,如图1和2所示,录制:当 Repeater 启动对service1的录制后,有请求到 service A,console 感知到请求后反馈Repeater。Repeater对事件进行过滤和采样计算,对满足录制条件的请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种具有可追溯性的基于线上日志流量回放工具,其特征在于,包括:Web管理端,为具有可追溯性的基于线上日志流量回放工具的主体,所述Web管理端支持安装录制服务、配置录制服务和接口,进行录制启动、回放、结果查看和历史记录查看。2.根据权利要求1所述的具有可追溯性的基于线上日志流量回放工具,其特征在于:其中录制时由Repeater 启动对service1的录制后,有请求到 service A,console 感知到请求后反馈Repeater。3.根据权利要求2所述的具有可追溯性的基于线上日志流量回放工具,其特征在于:其中Repeater对事件进行过滤和采样计算,对满足录制条件的请求会记录请求、响应、子调用和响应形成序列化。4.根据权利要求3所述的具有可追溯性的基于线上日志流量回放工具,其特征在于:其中序列化后通知Repeater

console 进行处理,通过ES和DB保存数据。5.根据权利要求1所述的具有可追溯性的基于线上日志流量回放工具,其特征在于:其中回放时,用户请求Repeater

console的回放接口,明确需要回放哪条录制数据。6.根据权利要求5所述的具有可追溯性的基于线上日志流...

【专利技术属性】
技术研发人员:滕雪松张俊磊包楠吴志成
申请(专利权)人:北京易车信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1