【技术实现步骤摘要】
一种对应用进行无侵入化埋点的实现方法及系统
本专利技术涉及软件开发
,具体来讲是一种对应用进行无侵入化埋点的实现方法及系统。
技术介绍
自从Java引入了Annotation(注解)这一特性后,Annotation就成为了大型软件框架API(ApplicationProgrammingInterface,应用程序编程接口)中的重要组成部分。这类的大型软件框架包括Spring、Hibernate。其显著的特点是通过在应用程序中添加简单的几行注解代码就能在应用程序中实现相当复杂的逻辑。这种声明式编程方式在软件开发人员特别是Java开发人员间得到了广泛的使用。但是,实际应用中很少有软件开发人员选择在自己编写的框架或者是中间件中提供基于注解的API。最主要的原因是因为很难去实现。因此,为了在项目中引入埋点逻辑,目前开发人员必须基于Springboot框架构建一个项目工程,作为需要添加埋点逻辑的应用的父工程。这样就存在很多缺陷,如潜在的jar的冲突、要求应用必须使用了Spring框架等。因此,如何设计一种新的埋点方法可以避免上述缺陷,是本领域技术人员亟待解决的问题。专 ...
【技术保护点】
一种对应用进行无侵入化埋点的实现方法,其特征在于,该实现方法包括以下步骤:A、定义构造函数拦截器,该构造函数拦截器用于在被拦截的类的构造函数后织入埋点逻辑;为该构造函数拦截器创建拦截方法,构造函数拦截器的拦截方法的实现功能为:当被拦截的类被实例化时,该拦截方法将链式执行预设的拦截链中的埋点逻辑,该预设的拦截链包括多个依次调用的埋点逻辑;定义方法拦截器,该方法拦截器用于在被拦截的方法的执行前、后织入埋点逻辑;为该方法拦截器创建拦截方法,方法拦截器的拦截方法的实现功能为:当对象调用被拦截的方法时,该拦截方法将在被拦截的方法执行之前和之后均链式执行预设的拦截链中的埋点逻辑;B、为 ...
【技术特征摘要】
1.一种对应用进行无侵入化埋点的实现方法,其特征在于,该实现方法包括以下步骤:A、定义构造函数拦截器,该构造函数拦截器用于在被拦截的类的构造函数后织入埋点逻辑;为该构造函数拦截器创建拦截方法,构造函数拦截器的拦截方法的实现功能为:当被拦截的类被实例化时,该拦截方法将链式执行预设的拦截链中的埋点逻辑,该预设的拦截链包括多个依次调用的埋点逻辑;定义方法拦截器,该方法拦截器用于在被拦截的方法的执行前、后织入埋点逻辑;为该方法拦截器创建拦截方法,方法拦截器的拦截方法的实现功能为:当对象调用被拦截的方法时,该拦截方法将在被拦截的方法执行之前和之后均链式执行预设的拦截链中的埋点逻辑;B、为埋点应用定义基于javaagent的启动类,该埋点应用为实现埋点的应用;并为该启动类创建启动类实现方法,该启动类实现方法具有两个参数:一个是通过javaagent选项提供的启动参数,一个是Java虚拟机监控接口的实例,且该启动类实现方法的功能为:将构造函数拦截器的拦截方法、方法拦截器的拦截方法注册到Java虚拟机监控接口的实例上,使得Java虚拟机在加载各种类之前会将构造函数拦截器和方法拦截器的拦截方法织入到被拦截的类中,然后加载被织入后的类;C、将具有上述启动类的埋点应用添加到需要进行埋点的应用中,并将其设置为应用启动时运行,结束。2.如权利要求1所述的对应用进行无侵入化埋点的实现方法,其特征在于,步骤C具体包括以下流程:C1、在埋点应用中添加MANIFEST.MF文件,并将其manifest属性中的Premain-Class项设置为上述启动类的名称;C2、将当前埋点应用编译并打包成jar文件;C3、在需要进行埋点的应用的启动脚本中添加该jar文件的运行命令。3.如权利要求1所述的对应用进行无侵入化埋点的实现方法,其特征在于:每个埋点逻辑通过将过滤器Filter设计为单一功能来实现;在此基础上,所述多个埋点逻辑依次调用的实现流程包括:(1)在每个埋点逻辑中封装用于调用下一个链对象的方法doFilter,该doFilter方法具有两个参数:一个是拦截器收集到的信息参数,一个是拦截链实例;(2)在每个埋点逻辑实例的doFilter方法中调用拦截链实例的doFilter方法继续下一个埋点逻辑实例的doFilter方法的调用。4.如权利要求1至3中任一项所述的对应用进行无侵入化埋点的实现方法,其特征在于:所述启动类实现方法将构造函数拦截器的拦截方法、方法拦截器的拦截方法注册到Java虚拟机监控接口的实例上时,采用ASM方式、Javassist方式或Bytebuddy方法实现。5.如权利要求1至3中任一项所述的对应用进行无侵入化埋点的实现方法,其特征在于:所述构造函数拦截器、方法拦截器织入的埋点逻辑包括性能监测埋点逻辑、日志埋点逻辑。6.一种对应用进行无侵入化埋点的实现系统,其...
【专利技术属性】
技术研发人员:支猛,张文明,陈少杰,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。