[发明专利]性能数据获取方法、装置、电子设备和介质有效
申请号: | 201911367621.2 | 申请日: | 2019-12-26 |
公开(公告)号: | CN113051122B | 公开(公告)日: | 2023-09-15 |
发明(设计)人: | 刘涛;李奇原;管灏;庞超 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 性能 数据 获取 方法 装置 电子设备 介质 | ||
本申请公开了一种性能数据获取方法、装置、电子设备和介质,涉及计算机技术领域。具体实现方案为:在检测到宿主程序启动完成后,向所述宿主程序对应的宿主进程发送加载指令;所述宿主进程基于所述加载指令加载用于对所述宿主程序进行性能监控的监控代码包后,通过运行加载的所述监控代码包中的监控代码,采集所述宿主程序的性能数据。本申请实施例当对宿主程序添加、卸载和升级监控代码包时,无需修改启动脚本和重启应用,避免了重启应用带来的流量损失,且解决了修改启动脚本导致的难以规模化运营监控的问题。
技术领域
本申请涉及计算机技术领域,具体涉及数据采集技术,尤其涉及一种性能数据获取方法、装置、电子设备和介质。
背景技术
业务应用通常构建在不同的JAVA微服务模块上,这些模块架构各异且应用数目庞大。因此,需要一些帮助理解系统行为和用于分析性能问题的工具。
现有的JAVA应用性能数据采集方法主要包括三种:(1)直接在业务代码中开发监控代码。(2)在业务程序中,设置专门的监控逻辑,增加配置文件来统一添加监控代码。(3)使用java agent技术加载监控核心jar包。
上述第一种方法中监控代码与业务代码完全耦合,导致性能监控需要业务人员大量开发,成本较高。第二种方法中需要对业务代码的配置文件进行大量改动。一旦业务升级,很可能导致监控不可用。第三种方法解决了前两种方法的问题,但是无论是添加、卸载还是升级监控程序,都需要修改启动脚本并重启应用,重启应用是对流量有损的,修改启动脚本难以规模化运营监控,这种方式难以适应大规模、复杂的线上应用。
发明内容
本申请提供一种性能数据获取方法、装置、电子设备和介质,以解决现有应用性能数据采集方法会导致应用流量损失,且难以规模化运营监控的问题。
第一方面,本申请实施例公开了一种性能数据获取方法,所述方法包括:
在检测到宿主程序启动完成后,向所述宿主程序对应的宿主进程发送加载指令;
在所述宿主进程基于所述加载指令加载用于对所述宿主程序进行性能监控的监控代码包后,通过运行加载的所述监控代码包中的监控代码,采集所述宿主程序的性能数据。
上述申请中的一个实施例具有如下优点或有益效果:实现了当对宿主程序添加监控代码包时,无需修改启动脚本和重启应用的效果,避免了重启应用带来的流量损失,且解决了修改启动脚本导致的难以规模化运营监控的问题。
可选的,所述监控代码包包括监控代码段和插件代码段;其中,所述监控代码段中包含用于执行预设性能数据采集操作的监控代码,所述插件代码段中包含用于确定各所述监控代码段在所述宿主程序的业务代码段中的加载位置的代码;
相应的,加载用于对所述宿主程序进行性能监控的监控代码包,包括:
通过执行所述插件代码段确定所述加载位置,根据确定结果将所述监控代码段加载到所述业务代码段中的相应位置处。
上述申请中的一个实施例具有如下优点或有益效果:通过执行插件代码段确定加载位置,根据加载位置将监控代码段加载到业务代码段中,使得监控代码段不会影响业务代码段的正常执行,避免报错,并为后续运行监控代码段中的监控代码,采集宿主程序性能数据,奠定了基础。
可选的,所述监控代码包还包括跳转代码段,其中,所述跳转代码段中包含至少一个接口以及各接口所引用的插件标识;以及,所述插件代码段还包含所述接口对应的功能实现代码;
相应的,通过运行加载的所述监控代码包中的监控代码,采集所述宿主程序的性能数据,包括:
执行所述监控代码中的接口调用语句,根据所述跳转代码段确定所述接口调用语句所调用接口所引用的插件标识,并通过调用所述插件标识对应的插件代码段中的功能实现代码,来执行所述预设性能数据采集操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911367621.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种时钟门控模块的检测方法及装置
- 下一篇:电力参数检测装置及方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置