我有一个在整个大型项目中都被调用的查询类,我们的功能之一特别慢。我需要确定特定功能(操作)所调用的查询的所有实例,以便我们对其进行评估。这意味着该函数调用另一个函数,并且可能有一个查询,并且该函数可能会调用进行查询的函数,依此类推。]
[该语言是Java的专有语言(gosu),因此实际上并没有为它构建很多工具,但是基于Java的解决方案可能有效。
我想我不是第一个需要这种解决方案的人,所以我想知道是否有人知道如何做到这一点或知道该问题的规范名称?
到目前为止我想到的是:
我会设置记录器,但是我要记录的类是“开箱即用”的功能,这意味着我们不允许摆弄它。有[[is]]日志记录功能,但只允许在测试/本地(而不是在发生问题的生产环境中)打开此日志记录功能,并且我们无法在测试中重现该问题或本地。
仅搜索目录:这在一定程度上是可行的,但是需要执行回溯来清除其他功能,并且它仅捕获目录中的内容,而不捕获该函数可能调用的其他包中的内容。搜索包和所有导入的类,以及它们的包/导入的类:这肯定会捕获所有相关的查询调用,但是捕获的内容可能超出所需的范围,并且可能仅捕获
all
调用。我知道查询调用的实例总数,它太大了,无法手工处理并排序哪些调用属于哪个函数。我有一个在整个大型项目中都被调用的查询类,我们的功能之一特别慢。我需要确定由...