The invention discloses a method and a system for monitoring the time consuming data when a program runs, belonging to the technical field of computer. The instrumentation point method comprises the following steps: acquiring the position information and the instrumentation code, according to the instrumentation point position information and instrumentation code of the tested program instrumentation; the instrumentation point is at least two; the program tested running after instrumentation, when measured after instrumentation instrumentation point in the program when triggered, stub code corresponding execution and trigger the instrumentation point, access point data output code inserted pile pile; pile point data includes a time stamp, event label and stack information; according to the pile point data, generate the tested program in the run-up to the time-consuming data between at least two instrumentation points. The invention effectively helps the developer to locate the time-consuming distribution of the critical nodes and the various stages of the program during the operation of the program, thereby greatly compressing the development cost and facilitating the program optimization process.
【技术实现步骤摘要】
用于监测程序运行时耗时数据的方法及系统
本专利技术涉及计算机
,尤其涉及一种用于监测程序运行时耗时数据的方法及系统。
技术介绍
程序在开发过程中或在应用过程中,需要对程序的性能进行测量监控,特别是程序的运行速度也就是耗时数据进行监控。现有的技术方案在监控程序运行状态时,一般将程序运行时数据无差别地展示或记录下来,然后通过实时展示或报表的形式展示出来,若发现数据异常时需要人工进行筛选数据,并将多次数据整合处理,这一过程由于运行时信息过于繁杂往往难于操作,若修改程序后需要再次展示数据则需要重复上述操作,操作流程比较重。
技术实现思路
有鉴于此,本专利技术提供了一种用于监测程序运行时耗时数据的方法,包括:获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个;运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息;根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。进一步地,所述插桩点为系统自动设置的插桩点;或者,所述插桩点为用户自定义设置的插桩点。进一步地,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据,包括:将所述桩点数据发送给服务器;服务器根据接收到的桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。进一步地,所述将所述桩点数据发送给服务器,包括:在所述桩点数据满足预设的时间阈值后,将所述桩点数据发送给服 ...
【技术保护点】
用于监测程序运行时耗时数据的方法,其特征在于,包括:获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个;运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息;根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
【技术特征摘要】
1.用于监测程序运行时耗时数据的方法,其特征在于,包括:获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个;运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息;根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。2.根据权利要求1所述的用于监测程序运行时耗时数据的方法,其特征在于,所述插桩点为系统自动设置的插桩点;或者,所述插桩点为用户自定义设置的插桩点。3.根据权利要求1所述的用于监测程序运行时耗时数据的方法,其特征在于,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据,包括:将所述桩点数据发送给服务器;服务器根据接收到的桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。4.根据权利要求3所述的用于监测程序运行时耗时数据的方法,其特征在于,所述将所述桩点数据发送给服务器,包括:在所述桩点数据满足预设的时间阈值后,将所述桩点数据发送给服务器;或者,在所述桩点数据满足预设的数据量阈值后,将所述桩点数据发送给服务器。5.根据权利要求1所述的用于监测程序运行时耗时数据的方法,其特征在于,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据之后,还包括:获取用户输入的筛选条件,根据所述筛选条件对接收到的桩点数据筛选、整合;所述筛选条件包括事件标签和日期。6.根据权利要求1所述的用于监测程序运行时耗时数据的方法,其特征在于,所述获取执行所述插桩代码输出的桩点数据之后,还包括:对接收到的桩点数据进行存储。7.根据权利要求1所述的用于监测程序运行时耗时数据的方法,其特征在于,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据之后,还包括:对接收到的桩点数据进行分析处理,并生成图形化数据输出。8.根据权利要求7所述的用于监测程序运行时耗时数据的方法,其特征在于,所述获取的执行所述插桩代码输出的桩点数据为被测程序多次运行时的桩点数据;对接收到的桩点数据进行分析处理,并生成图形化数据输出,包括:对被测程序每次运行时的桩点数据进行整合,生成被测程序每次运行时的耗时数据;对所述耗时数据进行分析,删除脏数据;根据被测程序多次运行...
【专利技术属性】
技术研发人员:郭晓彬,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。