如何在Google Chrome devtools CPU配置文件中表示堆栈框架信息

时间:2019-06-21 04:54:44

标签: google-chrome google-chrome-devtools chrome-developer-protocol

我正在查看https://chromedevtools.github.io/devtools-protocol/tot/Profiler#type-ProfileNode上的文档,试图了解如何表示CPU配置文件格式。

通常,配置文件是一组样本。每个样本都有一个堆栈框架,该框架是函数调用位置的列表。

我正在尝试将其映射为chrome devtools配置文件格式。

据我了解,profile中的samples数组包含顶部节点ID。并且nodes包含唯一的函数调用站点列表。

因此,索引为i的任何样本的堆栈帧都必须是具有该ID的节点,然后是该节点的子节点?

本质上,我为样本i构想的堆栈框架是:

Node[sample[i]].callFrame
Node[sample[i]].children[0].callFrame
Node[sample[i]].children[1].callFrame
Node[sample[i]].children[2].callFrame
...

但是当我形象地看到这些链接时,它们之间的关系就会倒转了。即,箭头应从其向外延伸的根函数变成所有箭头所指向的叶函数。

我在这里想念什么?该文档没有清楚地详细说明东西的布局方式。

0 个答案:

没有答案