[发明专利]用于监测程序运行时耗时数据的方法及系统有效
| 申请号: | 201611042803.9 | 申请日: | 2016-11-22 |
| 公开(公告)号: | CN106649063B | 公开(公告)日: | 2020-11-17 |
| 发明(设计)人: | 郭晓彬 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
| 主分类号: | G06F11/34 | 分类号: | G06F11/34 |
| 代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;贾允 |
| 地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 用于 监测 程序 运行 耗时 数据 方法 系统 | ||
本发明公开了一种用于监测程序运行时耗时数据的方法及系统,属于计算机技术领域。方法包括:获取插桩点的位置信息和插桩代码,根据插桩点的位置信息和插桩代码对被测程序进行插桩;插桩点至少为两个;运行插桩后的被测程序,当插桩后的被测程序中的插桩点被触发时,执行与触发的插桩点对应的插桩代码,获取执行插桩代码输出的桩点数据;桩点数据包括:时间戳、事件标签和堆栈信息;根据桩点数据,生成被测程序在运行至至少两个插桩点之间的耗时数据。本发明有效地帮助开发者定位到程序运行过程中耗时的关键节点与程序各个阶段的耗时分布,极大地压缩了开发成本,便利了程序优化过程。
技术领域
本发明涉及计算机技术领域,尤其涉及一种用于监测程序运行时耗时数据的方法及系统。
背景技术
程序在开发过程中或在应用过程中,需要对程序的性能进行测量监控,特别是程序的运行速度也就是耗时数据进行监控。
现有的技术方案在监控程序运行状态时,一般将程序运行时数据无差别地展示或记录下来,然后通过实时展示或报表的形式展示出来,若发现数据异常时需要人工进行筛选数据,并将多次数据整合处理,这一过程由于运行时信息过于繁杂往往难于操作,若修改程序后需要再次展示数据则需要重复上述操作,操作流程比较重。
发明内容
有鉴于此,本发明提供了一种用于监测程序运行时耗时数据的方法,包括:
获取插桩点的位置信息和插桩代码,根据所述插桩点的位置信息和插桩代码对被测程序进行插桩;所述插桩点至少为两个;
运行所述插桩后的被测程序,当所述插桩后的被测程序中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码,获取执行所述插桩代码输出的桩点数据;所述桩点数据包括:时间戳、事件标签和堆栈信息;
根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
进一步地,所述插桩点为系统自动设置的插桩点;或者,所述插桩点为用户自定义设置的插桩点。
进一步地,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据,包括:
将所述桩点数据发送给服务器;
服务器根据接收到的桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据。
进一步地,所述将所述桩点数据发送给服务器,包括:
在所述桩点数据满足预设的时间阈值后,将所述桩点数据发送给服务器;或者,
在所述桩点数据满足预设的数据量阈值后,将所述桩点数据发送给服务器。
进一步地,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据之后,还包括:
获取用户输入的筛选条件,根据所述筛选条件对接收到的桩点数据筛选、整合;所述筛选条件包括事件标签和日期。
进一步地,所述获取执行所述插桩代码输出的桩点数据之后,还包括:对接收到的桩点数据进行存储。
进一步地,所述根据所述桩点数据,生成被测程序在运行至所述至少两个插桩点之间的耗时数据之后,还包括:对接收到的桩点数据进行分析处理,并生成图形化数据输出。
进一步地,所述获取的执行所述插桩代码输出的桩点数据为被测程序多次运行时的桩点数据;
对接收到的桩点数据进行分析处理,并生成图形化数据输出,包括:
对被测程序每次运行时的桩点数据进行整合,生成被测程序每次运行时的耗时数据;
对所述耗时数据进行分析,删除脏数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611042803.9/2.html,转载请声明来源钻瓜专利网。





