The data analysis system deals with data generated by instrumented software. The data analysis system receives data streams generated by instances of instrumented software executed on the system. The data analysis system also receives metadata describing the data flow. The data analysis system receives expressions based on metadata. The data analysis system receives the data of the data stream at each time interval, and calculates the result of the expression according to the received data value. The data analysis system repeats the steps for each time interval. The data analysis system can quantify the data value of each time interval data stream by aggregated values of the time interval based on the data received for each data stream for each time interval. The data analysis system uses quantitative data at this interval to evaluate the expression.
【技术实现步骤摘要】
【国外来华专利技术】基于软件的仪器化的实时报告
技术介绍
本公开总体上涉及软件的仪器化,并且更具体地涉及基于由仪器化软件生成的数据流的实时报告。软件开发人员通过对代码仪器化来监测他们开发的软件的不同方面。这些方面包括软件的执行、在执行软件期间遇到的错误、在执行软件期间遇到的重大事件、描述代码的哪些部分正在执行以及哪些部分未被执行的信息等等。用于对代码仪器化的传统技术包括用于记录不同类型的信息以在屏幕上记录文件或打印信息的代码中的语句。这种类型的仪器适用于简单应用,例如具有在单个处理器上执行的简单执行流程的应用。然而,这些用于对软件仪器化的技术对于可能分布在多个系统(其中每个系统执行多个执行进程或线程)上的复杂应用是不够的。传统上用于仪器化这种复杂系统的一种技术是在对软件仪器化时使用专家的帮助。某些供应商提供有助于代码的仪器化的专家服务。然而,这些供应商通常提供通常不是非常灵活的标准服务。此外,这些基于供应商的解决方案在供应商对仪器代码所需的时间方面具有显著的开销。因此,这些解决方案适合于缓慢的开发周期,例如一年的开发周期。然而,软件产品的软件开发和发布周期已经变短了。例如,存在几个在线系统,其中软件开发人员每月、每周或甚至每天进行更改并且进行部署。由于基于供应商的仪器解决方案的巨大开销,开发人员发现在快节奏的开发环境中难以使用这些服务。此外,用于对代码仪器化的传统技术在信息的同化、信息的存储和信息的分析以产生报告方面引起显著的延迟。因此,在软件中发生问题的时间与经由代码的仪器化检测到问题的时间之间可能会有显著的延迟。因此,用于基于软件的仪器化来生成报告的传统系统在复杂应用的快节奏开 ...
【技术保护点】
一种用于处理由仪器化软件生成的数据的方法,所述方法包括:从一个或多个外部系统接收标识多个数据流的信息,每个数据流由在所述一个或多个外部系统上执行的仪器化软件的实例生成,每个数据流包括元组,每个元组包括所述数据流的属性的第一集合的值;接收描述所述多个数据流中的每个数据流的元数据,数据流的所述元数据包括属性的第二集合,所述第二集合中的每个属性不同于所述第一集合;接收表达式的规定,所述表达式跨所述多个数据流来聚合数据,所述表达式至少基于所述第一集合中的属性和所述第二集合中的属性;以及使用所述数据流在多个时间间隔上评估所述表达式,以生成输出数据流。
【技术特征摘要】
【国外来华专利技术】2014.10.08 US 62/061,616;2015.07.15 US 14/800,677;1.一种用于处理由仪器化软件生成的数据的方法,所述方法包括:从一个或多个外部系统接收标识多个数据流的信息,每个数据流由在所述一个或多个外部系统上执行的仪器化软件的实例生成,每个数据流包括元组,每个元组包括所述数据流的属性的第一集合的值;接收描述所述多个数据流中的每个数据流的元数据,数据流的所述元数据包括属性的第二集合,所述第二集合中的每个属性不同于所述第一集合;接收表达式的规定,所述表达式跨所述多个数据流来聚合数据,所述表达式至少基于所述第一集合中的属性和所述第二集合中的属性;以及使用所述数据流在多个时间间隔上评估所述表达式,以生成输出数据流。2.根据权利要求1所述的方法,其中对于每个时间间隔,所述表达式的所述评估包括:从所述多个数据流接收一个或多个元组,每个元组包括与时间点相关联的数据值,基于所接收的元组的所述数据值来确定所述表达式的值,以及提供所述表达式的所述值用于所述输出数据流。3.根据权利要求1所述的方法,其中评估所述表达式包括聚合所述数据流的数据值,每个数据值与所述时间间隔相关联,其中所述表达式规定确定属于所述属性的第一集合的第一属性的聚合值,所述聚合值通过属于所述属性的第二集合的第二属性被分组,其中评估所述表达式包括生成多个输出数据流,所述多个输出数据流中的每个输出数据流对应于所述第二属性的值。4.根据权利要求3所述的方法,其中评估所述表达式包括在第一时间间隔生成第一多个输出流、并且在第二时间间隔生成第二多个输出流。5.根据权利要求1所述的方法,还包括:在第一时间间隔期间接收第一数据流集合;通过使用所述第一数据流集合评估所述表达式来生成第一多个输出数据流;在第二时间间隔期间接收第二数据流集合;以及通过使用所述第二数据流集合评估所述表达式来生成第二多个输出数据流。6.根据权利要求1所述的方法,其中通过由所述仪器化软件执行的指令来生成每个数据流的数据,所述指令与计数器或测量仪中的一项相关联。7.根据权利要求1所述的方法,还包括:接收修改与数据流相关联的元数据的指令;以及对于随后的时间间隔,对于每个时间间隔:基于已修改的元数据来计算所述表达式的值,以及基于已修改的元数据来存储所述表达式的计算的所述值。8.根据权利要求1所述的方法,其中接收描述数据流的元数据包括:接收描述元数据对象的信息,每个元数据对象与一个或多个属性相关联,每个属性包括名称和值,以及接收描述元数据对象之间的关联的信息以及标识数据流的信息。9.根据权利要求8所述的方法,其中多个元数据对象被组织为层级,其中所述层级至少包括与第二元数据对象相关的第一元数据对象,其中所述第一元数据对象在所述层级中、在所述第二元数据对象之上,所述方法包括:在所述第二元数据对象中包括第一元数据对象的属性。10.根据权利要求9所述的方法,其中多个元数据对象被组织为层级,并且元数据对象包括在所述层级中、在所述元数据对象之上的元数据对象的属性。11.根据权利要求10所述的方法,还包括:接收标识与所述层级的一个或多个元数据对象相关联的数据流集合的信息;以及通过包括与在所述层级中、在元数据对象下面的一个或多个元数据对象相关联的数据流,来确定与所述元数据对象相关联的数据流集合。12.根据权利要求10所述的方法,还包括:接收标识与所述层级中的一个或多个元数据对象相关联的数据流集合的信息;以及基于与在所述层级中、在元数据对象下面的所有元数据对象相关联的数据流集合的并集,来确定与所述元数据对象相关联的数据流集合。13.根据权利要求1所述的方法,其中每个数据流提供度量的值,所述值以可变的时间间隔生成,所述方法还包括:对于每个数据流,标识用于聚合所述数据流的所述度量的值的函数;基于所述数据流来生成多个量化数据流,每个量化数据流包括以固定时间间隔周期性地出现...
【专利技术属性】
技术研发人员:P·刘,A·穆科赫基,R·拉曼,K·格兰迪,J·林达穆德,
申请(专利权)人:信号公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。