[发明专利]一种函数调用链路的展示方法和装置有效
申请号: | 202010251530.9 | 申请日: | 2020-04-01 |
公开(公告)号: | CN111459547B | 公开(公告)日: | 2021-10-08 |
发明(设计)人: | 周勇钧 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/32 | 分类号: | G06F9/32 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 汪阮磊 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 函数 调用 展示 方法 装置 | ||
本申请实施例公开了一种函数调用链路的展示方法和装置;本申请实施例可以对数据处理函数进行关键点注入,得到注入后数据处理函数;当执行至注入后数据处理函数中目标关键点对应的目标函数时,记录目标函数的函数调用路径,该函数调用路径为从注入后数据处理函数中入口函数到目标函数的函数调用路径;当执行完注入后数据处理函数时,基于记录的函数调用路径构建数据处理函数对应的函数调用链路,该函数调用链路包括至少一个函数层级,该函数层级包括数据处理函数中处于相同层级的函数、以及各个函数之间的调用链路;展示该函数调用链路;当检测到针对目标函数层级中目标函数的操作时,对该目标函数所调用的关联函数层级进行展示或隐藏。
技术领域
本发明涉及通信技术领域,具体涉及一种函数调用链路的展示方法和装置。
背景技术
随着信息技术的高速发展,在业务高性能高可用的要求下,业务程序会引入各种并发处理或异步处理方式来解决问题,例如在区块链业务中,会在接受请求或验证交易信息等处理中引入多进程或多线程的并发机制,在共识提交等处理中引入不阻塞式异步广播及投票等待响应的并发机制,在数据上链等处理中引入不阻塞式异步提交及事件通知响应的并发机制等,针对不同部分的数据处理,采取了不同类型的并发机制。为了能够直观地了解数据处理过程中所出现的问题,将数据处理过程中函数之间的调用情况采用链路的方式进行展示,便显得十分必要。
现有的函数调用链路的展示方法,仅能展示数据单独处理部分的函数调用链路,从而使得对函数调用链路进行展示的准确度降低。
发明内容
本申请实施例提供一种函数调用链路的展示方法和装置,可以提高函数调用链路展示的准确度。
本申请实施例提供一种函数调用链路的展示方法,包括:
对数据处理函数进行关键点注入,得到注入后数据处理函数;
当执行至所述注入后数据处理函数中目标关键点对应的目标函数时,记录所述目标函数的函数调用路径,所述函数调用路径为从所述注入后数据处理函数中入口函数到目标函数的函数调用路径;
当执行完所述注入后数据处理函数时,基于记录的函数调用路径构建所述数据处理函数对应的函数调用链路,其中,所述函数调用链路包括至少一个函数层级,所述函数层级包括数据处理函数中处于相同层级的函数、以及各个函数之间的调用链路;
展示所述函数调用链路;
当检测到针对目标函数层级中目标函数的操作时,对所述目标函数所调用的关联函数层级进行展示或隐藏。
相应的,本申请实施例还提供了一种函数调用链路的展示装置,包括:
注入单元,用于对数据处理函数进行关键点注入,得到注入后数据处理函数;
记录单元,用于当执行至所述注入后数据处理函数中目标关键点对应的目标函数时,记录所述目标函数的函数调用路径,所述函数调用路径为从所述注入后数据处理函数中入口函数到目标函数的函数调用路径;
构建单元,用于当执行完所述注入后数据处理函数时,基于记录的函数调用路径构建所述数据处理函数对应的函数调用链路,其中,所述函数调用链路包括至少一个函数层级,所述函数层级包括数据处理函数中处于相同层级的函数、以及各个函数之间的调用链路;
链路展示单元,用于展示所述函数调用链路;
层级展示单元,用于当检测到针对目标函数层级中目标函数的操作时,对所述目标函数所调用的关联函数层级进行展示或隐藏。
在一些实施例中,所述注入单元,包括:
获取子单元,用于采用反射机制获取数据处理函数中各个函数的函数调用特征;
注入子单元,用于根据所述函数调用特征对所述数据处理函数进行关键点注入,得到注入后数据处理函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010251530.9/2.html,转载请声明来源钻瓜专利网。