应用程序的性能监控方法、装置、设备及程序产品制造方法及图纸

技术编号:33291688 阅读:16 留言:0更新日期:2022-05-01 00:12
本公开提供一种应用程序的性能监控方法、装置、设备及程序产品,涉及计算机技术领域,包括:获取预设的监控信息,根据监控信息对应用程序中的监控方法进行字节码增强处理,其中,增强处理后的监控方法中的字节码用于获取监控方法的性能信息;根据增强处理后的监控方法获取监控方法的性能信息,并根据监控信息在增强处理后的监控方法中确定监控字段;根据监控字段对性能信息进行分类,得到监控方法的分类性能信息,本公开提供的方案能够根据监控字段对获取的性能信息进行分类,而监控字段与业务关联,因此,通过这种方式能够采集得到应用程序的业务层级的性能信息。序的业务层级的性能信息。序的业务层级的性能信息。

【技术实现步骤摘要】
应用程序的性能监控方法、装置、设备及程序产品


[0001]本公开实施例涉及计算机
,尤其涉及一种应用程序的性能监控方法、装置、设备及程序产品。

技术介绍

[0002]应用程序在运行过程中,需要监控应用程序中不同执行方法的性能问题,比如平均耗时、失败率、访问量等等。
[0003]现有技术中通常通过字节码增强技术,对应用程序中的各方法进行监控。
[0004]这种方式只能够针对应用程序中的某个方法或者某个接口进行监控,这种监控方式为纯技术性的监控,若需要进行业务层级的监控,还需要在代码中进行埋点,单独对埋点数据进行采集、统计分析。一旦业务有变化还需要改造代码,重新上线后才能够生效,因此,这种监控方式存在效率低且风险大的问题。

技术实现思路

[0005]本公开实施例提供一种应用程序的性能监控方法、装置、设备及程序产品,用以解决现有技术中对应用程序进行监控的方式效率低且存在风险的问题。
[0006]第一方面,本公开实施例提供一种应用程序的性能监控方法,包括:
[0007]获取预设的监控信息,根据所述监控信息对所述应用程序中的监控方法进行字节码增强处理,其中,增强处理后的监控方法中的字节码用于获取所述监控方法的性能信息;
[0008]根据增强处理后的监控方法获取所述监控方法的性能信息,并根据所述监控信息在增强处理后的监控方法中确定监控字段;
[0009]根据所述监控字段对所述性能信息进行分类,得到所述监控方法的分类性能信息。
[0010]第二方面,本公开实施例提供一种应用程序的性能监控装置,包括:
[0011]方法确定单元,用于获取预设的监控信息,根据所述监控信息对所述应用程序中的监控方法进行字节码增强处理,其中,增强处理后的监控方法中的字节码用于获取所述监控方法的性能信息;
[0012]监控单元,用于根据增强处理后的监控方法获取所述监控方法的性能信息;
[0013]字段确定单元,用于根据所述监控信息在增强处理后的监控方法中确定监控字段;
[0014]分类单元,用于根据所述监控字段对所述性能信息进行分类,得到所述监控方法的分类性能信息。
[0015]第三方面,本公开实施例提供一种电子设备,包括:存储器;
[0016]处理器;以及
[0017]计算机程序;
[0018]其中,所述计算机程序存储在所述存储器中,并配置为由所述处理器执行以实现
如第一方面所述的方法。
[0019]第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的应用程序的性能监控方法。
[0020]第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现如第一方面所述的应用程序的性能监控方法。
[0021]本公开提供的应用程序的性能监控方法、装置、设备及程序产品,能够根据监控字段对获取的性能信息进行分类,而监控字段与业务关联,因此,通过这种方式能够采集得到应用程序的业务层级的性能信息。
附图说明
[0022]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0023]图1为本公开一示例性实施例示出的应用程序的性能监控方法的流程示意图;
[0024]图2为本公开一示例性实施例示出的应用程序的性能监控方法的流程示意图;
[0025]图3为本公开一示例性实施例示出的应用程序的性能监控过程示意图;
[0026]图4为本公开一示例性实施例示出的应用程序的性能监控装置的结构示意图;
[0027]图5为本公开另一示例性实施例示出的应用程序的性能监控装置的结构示意图;
[0028]图6是根据一示例性实施例示出的一种电子设备的框图。
[0029]通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
[0030]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0031]应用程序在运行过程中,可以监控应用程序的性能,进而为优化应用程序提供可参考的数据。比如,可以采用字节码增强技术,对应用程序内的各方法进行监控,确定各方法的平均耗时、失败率、访问量等。
[0032]但是,这种方案只是技术层级的监控,无法获得业务层级的监控数据。比如,多个业务都会调用同一接口,通过字节码增强的方式只能够确定出该接口在技术层级的性能数据,而不能够得到不同业务调用该接口时的性能数据。
[0033]现有技术中,若希望得到应用程序在业务层级的性能数据,则需要在代码中买点,单独对埋点数据进行采集、统计。但是,这种实现方式中,一旦业务发生了变化,则需要改造代码,再重新上线代码,才能够继续采集业务层级的性能数据。
[0034]这种监控方式需要在代码中埋点,且业务变更时需要重新埋点并重新上线,效率较低,而且在代码中埋点会增加代码出错的风险。
[0035]为了解决上述技术问题,本公开提供的方案通过各个方法中的字段对采集的该方法的性能信息进行分类,不同的字段所对应的业务可能不同,因此,可以通过属于同一个业务的字段对采集的性能信息进行分类,从而得到与该业务关联的分类性能信息。
[0036]图1为本公开一示例性实施例示出的应用程序的性能监控方法的流程示意图。
[0037]本公开提供的应用程序的性能监控方法,包括:
[0038]步骤101,获取预设的监控信息,根据监控信息对应用程序中的监控方法进行字节码增强处理,其中,增强处理后的监控方法中的字节码用于获取监控方法的性能信息。
[0039]本公开提供的方法可以由具备计算能力的电子设备执行,该电子设备例如可以是服务器。在服务器中设置有应用程序,通过本公开提供的方法,可以监控该应用程序的性能。
[0040]一种可选的实施方式中,该应用程序可以是利用java语言编写的,可以对该应用程序进行字节码增强处理,进而基于字节码增加技术对应用程序的性能进行监控。
[0041]字节码增强技术是指利用Java代理和ASM字节码技术,在JVM加载应用程序的class二进制文件的时候,利用ASM动态的修改加载的class文件,在被监控的方法前后添加监控器,对被监控的方法的耗时、内部调用等情况进行监控。
[0042]本公开提供的方法中,可以预先设置监控信息,监控信息中包括需要监控的方法的信息。比如,第一应用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序的性能监控方法,其特征在于,包括:获取预设的监控信息,根据所述监控信息对所述应用程序中的监控方法进行字节码增强处理,其中,增强处理后的监控方法中的字节码用于获取所述监控方法的性能信息;根据增强处理后的监控方法获取所述监控方法的性能信息,并根据所述监控信息在增强处理后的监控方法中确定监控字段;根据所述监控字段对所述性能信息进行分类,得到所述监控方法的分类性能信息。2.根据权利要求1所述的方法,其特征在于,所述根据所述监控信息在增强处理后的监控方法中确定监控字段,包括:获取所述监控信息中包括的字段监控信息,根据所述字段监控信息中的类型标识确定监控字段类型;获取所述字段监控信息中的指定信息,根据所述指定信息和所述监控字段类型,确定所述监控字段。3.根据权利要求2所述的方法,其特征在于,所述根据所述字段监控信息中的类型标识确定监控字段类型,包括:若所述类型标识为第一标识,则确定所述监控字段的类型为入参;若所述类型标识为第二标识,则确定所述监控字段的类型为出参。4.根据权利要求2所述的方法,其特征在于,根据所述指定信息和所述监控字段类型,确定所述监控字段,包括:若所述监控字段类型为入参,则根据所述指定信息在入参字段中确定所述监控字段;若所述监控字段类型为出参,则根据所述指定信息在出参字段中确定所述监控字段;其中,所述指定信息包括以下信息中的一种或多种:字段序号、字段类型、字段名称。5.根据权利要求1

4任一项所述的方法,其特征在于,所述根据所述监控字段对所述性能信息进行分类,得到所述监控方法的分类性能信息,包括:在所述监控方法的性能信息中确定与所述监控字段对应的目标性能信息;根据所述目标性能信息确定与所述监控字段对应的分类性能信息。6.根据权利要求5所述的方法,其特征在于,所述在所述监控方法的性能信息中确定与所述监控字段对应的目标性能信息,包括:若所述监控字段为入参字段,则获取所述监控字段作为输入...

【专利技术属性】
技术研发人员:宋国强张晨张刚强
申请(专利权)人:京东科技信息技术有限公司
类型:发明
国别省市:

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

1