[发明专利]一种基于分布式应用的性能诊断方法、装置及设备在审
申请号: | 202110183887.2 | 申请日: | 2021-02-10 |
公开(公告)号: | CN112860517A | 公开(公告)日: | 2021-05-28 |
发明(设计)人: | 张学舟;黄玺磊;王双龙;胡晓菲 | 申请(专利权)人: | 中国工商银行股份有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/36;G06F9/455 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;孙乳笋 |
地址: | 100140 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分布式 应用 性能 诊断 方法 装置 设备 | ||
1.一种基于分布式应用的性能诊断方法,其特征在于,包括:
在所述分布式应用的各个进程中设置诊断插件;所述诊断插件,用于获取对应的目标接口的调用信息;
分别向各个诊断插件发送诊断命令;所述诊断命令,用于指示诊断插件收集并上送所述目标接口的调用信息;
在接收到所述调用信息的情况下,将所述调用信息与预设性能指标进行比对,以对所述分布式应用的性能进行诊断。
2.如权利要求1所述的方法,其特征在于,所述调用信息包括执行耗时、吞吐量、成功率中的至少一种。
3.如权利要求1所述的方法,其特征在于,所述诊断命令,由命令读写单元发送至诊断插件;所述分别向各个诊断插件发送诊断命令,包括:
在均衡各个命令读写单元的负载的情况下,发送所述诊断命令。
4.如权利要求1所述的方法,其特征在于,所述调用信息通过以下方式获取:
基于所述诊断命令对进程中指定的类中的方法动态注入诊断逻辑;
在所述方法被调用的情况下,接收被触发的诊断逻辑上送的调用信息。
5.如权利要求4所述的方法,其特征在于,所述基于所述诊断命令对指定的类中的方法动态注入诊断逻辑之前,还包括:
基于应用名、组件名、实例号确定性能诊断粒度;所述性能诊断粒度用于确定诊断过程的作用范围。
6.如权利要求4所述的方法,其特征在于,所述基于所述诊断命令对指定的类中的方法动态注入诊断逻辑,包括:
获取所述诊断命令对应的目标接口;
将所述目标接口与历史作用接口进行比较;所述历史作用接口包括上一次注入诊断逻辑的接口;
基于比较结果在目标接口中新增诊断逻辑或取消诊断逻辑。
7.如权利要求6所述的方法,其特征在于,所述基于比较结果在目标接口中新增诊断逻辑,包括:
获取所述诊断插件对应的进程中已加载的类所构成的类集合;
在所述类集合中包含有所述目标接口对应的类的情况下,创建并注册对应于所述进程的文件转换器;
针对所述文件转化器执行类定义重转换操作以重新加载该类的定义;
触发所述文件转换器的回调处理方法以读取该类的当前字节码;
缓存所述当前字节码;
记录所述目标接口的入参值、调用耗时、返回值或抛出异常;
为该类生成插桩后的字节码以替换所述当前字节码。
8.如权利要求6所述的方法,其特征在于,所述基于比较结果在目标接口中取消诊断逻辑,包括:
获取所述诊断插件对应的进程中已加载的类所构成的类集合;
在所述类集合中包含有所述目标接口对应的类的情况下,创建并注册对应于所述进程的文件转换器;
针对所述文件转化器执行类定义重转换操作以重新加载该类的定义;
触发所述文件转换器的回调处理方法以读取该类的原始字节码;
利用所述原始字节码替换该类的定义;
删除所述原始字节码并解注册所述文件转换器。
9.如权利要求4所述的方法,其特征在于,所述在所述方法被调用的情况下,接收被触发的诊断逻辑上送的调用信息,包括:
在所述目标接口被调用的情况下,存储当前时间戳;
记录所述目标接口的入参值;
在所述目标接口完成对应的业务逻辑的情况下,记录目标接口的返回值或异常值;
获取所述目标接口调用结束时的结束时间戳;
根据所述当前时间戳和结束时间戳计算调用耗时;
将所述入参值、返回值或异常值、调用耗时作为调用信息反馈。
10.如权利要求1所述的方法,其特征在于,所述将所述调用信息与预设性能指标进行比对,包括:
将所述调用信息以可视化图表的形式展示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110183887.2/1.html,转载请声明来源钻瓜专利网。