Go 如何解释cpu配置图

Go 如何解释cpu配置图,go,profiling,Go,Profiling,我在关注围棋博客 我试图分析我的程序,但它看起来有点不同。(go似乎已从取样转向仪器?) 我想知道这些数字是什么意思 尤其是显示的节点占2.59秒,占2.8的92.5% 总样本=2.8s意味着什么?以2.8秒的间隔抽取样本 这是否意味着只有运行在92.5%样本上的节点 显示时间 我还想知道这些数字是怎么产生的。在最初的go博客中,度量是在所有样本中检测函数执行的次数。然而,我们在这里处理的是秒。How-go分析工具知道函数调用需要多少秒 任何帮助都将不胜感激请将该图视为资源、时间的图表。例如

我在关注围棋博客

我试图分析我的程序,但它看起来有点不同。(go似乎已从取样转向仪器?)

我想知道这些数字是什么意思

尤其是
显示的节点占2.59秒,占2.8的92.5%

  • 总样本=2.8s意味着什么?以2.8秒的间隔抽取样本

  • 这是否意味着只有运行在92.5%样本上的节点 显示时间

  • 我还想知道这些数字是怎么产生的。在最初的go博客中,度量是在所有样本中检测函数执行的次数。然而,我们在这里处理的是秒。How-go分析工具知道函数调用需要多少秒


    任何帮助都将不胜感激

    请将该图视为资源、时间的图表。例如,您将从顶部开始,时间为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秒的样本。