Go 如何解释cpu配置图
我在关注围棋博客 我试图分析我的程序,但它看起来有点不同。(go似乎已从取样转向仪器?) 我想知道这些数字是什么意思 尤其是Go 如何解释cpu配置图,go,profiling,Go,Profiling,我在关注围棋博客 我试图分析我的程序,但它看起来有点不同。(go似乎已从取样转向仪器?) 我想知道这些数字是什么意思 尤其是显示的节点占2.59秒,占2.8的92.5% 总样本=2.8s意味着什么?以2.8秒的间隔抽取样本 这是否意味着只有运行在92.5%样本上的节点 显示时间 我还想知道这些数字是怎么产生的。在最初的go博客中,度量是在所有样本中检测函数执行的次数。然而,我们在这里处理的是秒。How-go分析工具知道函数调用需要多少秒 任何帮助都将不胜感激请将该图视为资源、时间的图表。例如
显示的节点占2.59秒,占2.8的92.5%
任何帮助都将不胜感激请将该图视为资源、时间的图表。例如,您将从顶部开始,时间为10秒。然后你会看到5秒进入
time.Sleep
,5秒进入encoding/json
。该时间段的特定分界线由箭头表示,因此它们显示程序的每个部分有5个分界线。现在我们有3个节点,第一个节点10秒,time.Sleep
5秒,和encoding/json
5秒。然后,encoding/json
中的5秒钟被进一步分解为占用大部分时间的函数。0.02s(较大百分比)中的0.01s(百分比)
表示此函数在该特定调用堆栈总共0.02s的时间块(带数字的箭头)中占用了0.01s的处理时间。百分比表示此部分从整个饼图中占用的执行时间的总百分比。因此,您将看到编码/json字符串/encoder
占用了程序总执行时间/资源的0.36%。总样本数=2.8s意味着什么?每个样本以2.8秒的间隔抽取?这意味着在总运行时间的1分钟内抽取了2.8秒的样本。