[发明专利]一种分析ASP.NET应用软件性能及故障的诊断方法有效
申请号: | 201711218399.0 | 申请日: | 2017-11-28 |
公开(公告)号: | CN108089978B | 公开(公告)日: | 2021-04-06 |
发明(设计)人: | 熊伟 | 申请(专利权)人: | 华北电力大学(保定) |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F11/30 |
代理公司: | 北京科家知识产权代理事务所(普通合伙) 11427 | 代理人: | 陈娟 |
地址: | 071003 河*** | 国省代码: | 河北;13 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分析 asp net 应用软件 性能 故障 诊断 方法 | ||
1.一种分析ASP.NET应用软件性能及故障的诊断方法,其特征在于:包括以下步骤
(1)、ASP.NET应用代码启动时通过环境变量加载IL代码改写模块;
(2)、ASP.NET应用代码动态编译IL代码时,触发IL代码改写功能,加载监控功能模块信息进行异步处理;
(3)、在处理HTTP请求的过程中,采集代码段的执行过程和错误信息;
(4)、创建独立的线程,对采集的性能信息和错误信息进行异步处理;
所述IL代码改写模块自动在代码段插入具有监控功能的IL代码,且所述监控功能模块采用以下模块,
改写模块:用于改写特定的代码,并在触发改写代码后加载监控模块实现检测功能;
所述改写模块的实现包括如下具体步骤:
(1)、在动态编译IL代码事件JITCompilationStarted中获取代码对应的代码集名称、命名空间以及方法名称;
(2)、根据不同的代码集名称、命名空间以及方法名称,在配置文件内匹配相应的监控代码入口、监控代码出口和监控代码异常方法;
(3)、如果可以获取监控代码入口方法,则对原有IL代码进行改写;
监控模块:用于监控软件的异常状况,便于记录异常代码段,所述代码段包括数据库、中间件、网络IO或用户自定义的方法;
所述监控模块的实现包括以下步骤:
(1)、当HTTP请求开始时,记录当前HTTP请求的URL及其参数;
(2)、在监控代码入口记录代码开始时间,获取当前线程对应的HTTP请求,并根据代码名称对代码功能进行分类为数据库、中间件、网络IO或用户自定义的方法;
(3)、在监控代码出口记录代码结束时间,并计算代码执行时间,将性能超过阈值的代码及其堆栈记录到当前线程对应的HTTP请求;
所述监控模块当HTTP请求结束时,将当前HTTP请求记录的性能数据和响应状态码添加到异步队列;
记录模块:用于触发监控模块的采集数据库、中间件、网络IO、用户自定义的方法的执行过程以及错误信息的采集;
分析模块:用于创建独立的线程,对采集的性能信息和错误信息进行异步处理。
2.根据权利要求1所述的一种分析ASP.NET应用软件性能及故障的诊断方法,其特征在于:所述改写模块如果不能获取监控代码入口方法,则不需要改写,直接忽略。
3.根据权利要求1所述的一种分析ASP.NET应用软件性能及故障的诊断方法,其特征在于:所述改写模块的改写规则为在原有代码前插入监控入口代码,在原有代码后插入监控出口代码,并且将监控入口代码、原有代码、监控出口代码均用try…catch进行包裹,在异常处理内插入监控代码异常逻辑。
4.根据权利要求1所述的一种分析ASP.NET应用软件性能及故障的诊断方法,其特征在于:所述监控模块在监控代码异常处记录错误信息,并将信息存储到当前线程对应的HTTP请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华北电力大学(保定),未经华北电力大学(保定)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711218399.0/1.html,转载请声明来源钻瓜专利网。