追踪源代码用于末端用户监控制造技术

技术编号:14872053 阅读:72 留言:0更新日期:2017-03-21 11:34
示例实施例涉及追踪源代码用于末端用户监控。在示例实施例中,监控应用以获得交互日志,其中交互日志通过多个综合监控器中的每一个追踪应用交互。另外,监控与所述应用相关联的应用代码的执行以获得仪表日志。在该阶段,交互日志和仪表日志被用于确定应用代码的部分和多个综合监控器之间的关系。接收对应用的更改的通知,并且基于所述关系识别由更改影响的综合监控器的受影响的子集。

【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
开发和运营(DevOp)是新兴的一套旨在桥接现代信息技术(IT)和软件组织中的开发者和运营之间的空隙的实践和方法论。DevOp实践包括交付过程的自动化、包括开发者和运行的功能交叉组、开发环境和生产环境的联合(alignment)等。一个这样的空隙是在代码改变和生产综合监控器(syntheticmonitor)之间的断开。综合监控器是从在生产环境中的末端用户的观点执行的脚本或流,其中当用户体验被降级时该监控器警告IT人员。附图说明以下详细描述参考附图,其中:图1是用于追踪源代码用于末端用户监控(EUM)的示例系统的框图;图2是包括用于执行追踪源代码用于EUM的方面的模块的示例计算设备的框图;图3是用于由计算设备执行用于追踪源代码用于EUM的示例方法的流程图;图4是用于由计算设备使用静态和动态代码分析执行用于追踪源代码用于EUM的示例方法的流程图;以及图5A-5B是在追踪源代码用于EUM的各种阶段处的示例应用代码的框图。具体实施方式如上面讨论的那样,DevOp实践尝试桥接代码改变和生产综合监控器之间的空隙。代表性地,应用手动维护以保证当应用被改变时脚本正继续执行并且仍在监控正确的进程。例如,这是类似于与所监控的应用用户接口(UI)或应用编程接口(API)交互的脚本(例如,测试脚本)的进程。另外,当应用改变时更新EUM脚本可以为采用诸如持续交付的DevOp实践的IT和软件组织提供另外的挑战,其发布应用改变更频繁,并且其依赖于较多的自动化和较少的手动干涉。本文中公开的示例实施例使用静态和动态代码分析追踪源代码用于EUM。例如,在一些实施例中,监控应用以获得交互日志,其中交互日志通过多个综合监控器中的每一个追踪应用交互。另外,监控与该应用相关联的应用代码的执行以获得仪表日志(instrumentationlog)。在该阶段,交互日志和仪表日志被用于确定应用代码的部分和多个综合监控器之间的关系。接收对应用的更改的通知,并且基于该关系识别被更改影响的综合监控器的受影响的子集。以这种方式,本文中公开的示例实施例通过执行各种静态和动态代码分析允许应用改变与EUM相关。特别地,通过观察在服务器侧上的仪表和在客户端侧上的监控,可以识别应用代码和综合监控器之间的关系。现在参考附图,图1是用于追踪源代码用于EUM的示例系统的框图。示例系统可以被实现为计算设备100,诸如服务器、笔记本计算机、台式计算机、一体化系统、平板计算设备、或任何其它适用于追踪源代码用于EUM的电子设备。在图1的实施例中,计算设备100包括处理器110、接口115、以及机器可读储存媒体120。处理器110可以是一个或多个中央处理单元(CPU)、微处理器、和/或其它适用于检索并执行存储在机器可读储存媒体120中的指令的硬件设备。处理器110可以提取、解码并执行用于使实现追踪源代码用于EUM的指令122、124、126、128、130。作为检索并执行指令的替换或除了检索并执行指令之外,处理器110可以包括一个或多个电子电路,其包括用于执行指令122、124、126、128、130中的一个或多个的功能性的多个电子组件。接口115可以包括多个用于与(一个或多个)客户端设备通信的电子组件。例如,接口115可以是以太网接口、通用串行总线(USB)接口、IEEE1394(火线)接口、外部串行高级技术附件(eSATA)接口、或任何其它适用于与客户端设备通信的物理连接接口。替换地,接口115可以是无线接口,诸如无线局域网(WLAN)接口或近场通信(NFC)接口。在操作中,如下面详述的那样,接口115可以被用于将诸如应用数据的数据发送到客户端设备的对应接口并从其处接收所述数据。机器可读储存媒体120可以是任何电子、磁、光、或存储可执行指令的其它物理储存设备。因此,机器可读储存媒体120可以是例如随机存取存储器(RAM)、电可擦可编程只读存储器(EEPROM)、储存设备、光盘等。如下面详细描述的那样,可以采用用于追踪源代码用于EUM的可执行指令编码机器可读储存媒体120。应用交互监控指令122可以监控综合监控器与正在执行的应用的交互。例如,综合监控器可以与应用的用户接口元件交互,其中可以记录用户输入和应用响应。在另一示例中,综合监控器可以与应用的数据进入点(entrypoint)交互,其中可以记录输入参数和返回值。可以将与应用的交互存储在交互日志中用于如下面描述的那样稍后使用。应用的数据进入点的示例可以包括但不被限于统一资源定位符(URL)参数、超文本标识语言(HTML)参数、客户端侧脚本参数、web服务接口、以及API'。在一些情况中,可以基于在源代码中的关键字识别数据进入点,其中所述关键字根据源代码的编程语言而不同。在其它情况中,可以基于在例如描述所期望的参数和输出的可扩展标识语言(XML)消息中的元数据识别数据进入点。应用可以是由计算设备100通过网络(例如,互联网、内联网等)经由接口115向客户端设备提供的软件或服务。例如,可以由在计算设备100上执行以向客户端设备的web浏览器提供网页的web服务器执行应用。在另一示例中,应用可以是通过网络响应于来自客户端设备的请求而提供功能性的web服务。仪表监控指令124可以执行应用的执行的服务器侧监控。特别地,可以在仪表日志中记录代码的部分的执行和执行的触发。例如,可以在应用中的函数调用期间记录时间戳和对应的函数名称。在该示例中,也可以记录来自客户端设备的交互使得可以在仪表日志和交互日志之间进行比较。可以通过动态分析模块创建仪表日志,所述动态分析模块具有到例如调试功能性和/或正在执行的应用的编程接口以及计算设备100的系统信息(例如,存储器堆栈、事件日志等)的访问。客户端侧可以涉及在与计算设备100交互的客户端设备上执行的任何操作。服务器侧可以涉及在计算设备100上执行的任何操作。关系确定指令126可以识别应用代码的部分和综合监控器之间的关系。例如,可以在交互日志和仪表日志两者中识别由综合监控器与应用的匹配交互以识别正在调用的综合监控器和响应于该调用执行的应用代码的相关部分。还可以基于综合监控器将被对应用代码的改变影响的概率来对综合监控器和应用代码的部分之间的关系分等级。更改通知接收指令128可以处理应用改变的通知。在应用中的改变包括但不被限于对源代码的更改、对计算设备100配置的更改、对应用部署的改变等。例如,源配置管理(SCM)系统可以被配置成向更改通知接收指令128通知源代码改变。受影响的监控器识别指令130可以识别被对应用的改变影响的监控器。特别地,上面所识别的关系可以被用于识别与应用改变有关的源代码的部分,其中然后将源代码的该部分用于识别受影响的监控器。在一些情况中,上面所识别的关系可以被用于创建查找表,其被用于识别受影响的监控器。图2是包括用于执行追踪源代码用于EUM的方面的模块的示例计算设备200的框图。与图1的计算设备100一样,计算设备200可以是任何适用于追踪源代码用于EUM的电子设备。...

【技术保护点】
一种用于追踪源代码用于末端用户监控的系统,所述系统包括:处理器,用于:监控应用以获得交互日志,其中所述交互日志通过多个综合监控器中的每一个追踪应用交互;监控与所述应用相关联的应用代码的执行以获得仪表日志;使用所述交互日志和所述仪表日志来确定在所述应用代码的部分和所述多个综合监控器之间的多个关系;从源管理模块接收在所述应用代码中的更改的通知;以及基于所述多个关系识别被所述更改影响的所述综合监控器的受影响的子集。

【技术特征摘要】
【国外来华专利技术】1.一种用于追踪源代码用于末端用户监控的系统,所述系统包括:
处理器,用于:
监控应用以获得交互日志,其中所述交互日志通过多个综合监控器中的每一个追踪应用交互;
监控与所述应用相关联的应用代码的执行以获得仪表日志;
使用所述交互日志和所述仪表日志来确定在所述应用代码的部分和所述多个综合监控器之间的多个关系;
从源管理模块接收在所述应用代码中的更改的通知;以及
基于所述多个关系识别被所述更改影响的所述综合监控器的受影响的子集。
2.根据权利要求1所述的系统,其中所述处理器还用于:
执行对所述应用代码的静态代码分析以识别由所述多个综合监控器访问的应用编程接口(API),其中还基于所述API确定所述多个关系。
3.根据权利要求1所述的系统,其中所述处理器还用于:
在所述应用的测试环境中执行综合监控脚本以将所述综合监控脚本链接到所述应用代码的所述部分,其中还基于所述综合监控脚本确定所述多个关系。
4.根据权利要求1所述的系统,其中代码的可获得的部分包括从客户端侧操作可获得的代码的第一部分以及从客户端侧操作不可获得的代码的第二部分,并且其中所述处理器还用于:
执行真实用户监控以将所述应用代码的所述部分的执行链接到用户事务签名,其中将所述用户事务签名与被链接到所述多个综合监控器的接口调用相关联。
5.根据权利要求1所述的系统,其中根据受影响的监控器中的每一个被在所述应用代码中的所述更改影响的概率对所述受影响的监控器分等级。
6.根据权利要求1所述的系统,其中所述处理器还用于:
接收在所述应用的部署配置方面的改变的部署通知;以及
基于所述多个关系识别被在所述部署配置方面的所述改变影响的所述综合监控器的第二子集。
7.一种至少部分地由计算设备实现的用于追踪源代码用于末端用户监控的方法,所述方法包括:
监控应用以获得交互日志,其中所述交互日志通过多个综合监控器中的每一个追踪应用交互;
监控与所述应用相关联的应用代码的执行以获得仪表日志;
使用所述交互日志和所述仪表日志来确定在所述应用代码的部分和所述多个综合监控器之间的多个关系;
接收对所述应用的更改的通知;以及
基于所述多个关系识别被所述更改影响的所述综合监控器的受影响的子集。
8.根据权利要求7所述的方法,还包括:
执行对所述应用代码的静态代码分析以识别由所述多个综合监控器访问的应用编程接口...

【专利技术属性】
技术研发人员:I莎尼G佩雷尔G奥菲尔
申请(专利权)人:慧与发展有限责任合伙企业
类型:发明
国别省市:美国;US

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

1