【发布时间】:2022-01-25 19:43:18
【问题描述】:
我想记录 Java 程序(包括线程/进程)的每个函数调用(时间戳和函数名称) 在 Python 中,我可以简单地使用一个分析器来记录程序中的函数条目,如下所示:
def tracefunc(frame, event, arg, indent=[0]):
if event == "call":
indent[0] += 2
print("-" * indent[0] + "> call function", frame.f_code.co_name)
elif event == "return":
print("<" + "-" * indent[0], "exit function", frame.f_code.co_name)
indent[0] -= 2
return tracefunc
在我的代码中,我将其用作:
import sys
import tracer
sys.setprofile(tracer.tracefunc)
我想知道 Java 中是否有类似的东西。还是我需要使用其他东西?注意我要记录一个大程序比如Cassandra
【问题讨论】: