从 trie 构建火焰图
Construct flame graph from trie
我在定期生成的 trie 中有一些统计信息。我想根据两次尝试之间的差异生成火焰图。我该怎么做?
t = pygtrie.StringTrie(separator=os.path.sep)
for dirpath, unused_dirnames, filenames in os.walk(ROOT_DIR):
for filename in filenames:
filename = os.path.join(dirpath, filename)
try:
filestat = os.stat(filename)
except OSError:
continue
if stat.S_IFMT(filestat.st_mode) == stat.S_IFREG:
t[filename] = filestat.st_size
不确定差异。但是您可以使用 FlameGraph tool.
在文件上绘制火焰图(如果您产生类似的输出,则可以绘制其他任何东西)
这里是这个工具的作者关于如何制作Flame graphs for file systems的话题。使用此工具,您只需执行以下命令即可获取图表。
./files.pl /Users | ./flamegraph.pl --hash --countname=bytes > out.svg
这是类似的工具 - duviz,它创建类似的图表,但对于 CLI 而言不是图像输出。优点 - 它写在 Python.
我在定期生成的 trie 中有一些统计信息。我想根据两次尝试之间的差异生成火焰图。我该怎么做?
t = pygtrie.StringTrie(separator=os.path.sep)
for dirpath, unused_dirnames, filenames in os.walk(ROOT_DIR):
for filename in filenames:
filename = os.path.join(dirpath, filename)
try:
filestat = os.stat(filename)
except OSError:
continue
if stat.S_IFMT(filestat.st_mode) == stat.S_IFREG:
t[filename] = filestat.st_size
不确定差异。但是您可以使用 FlameGraph tool.
在文件上绘制火焰图(如果您产生类似的输出,则可以绘制其他任何东西)这里是这个工具的作者关于如何制作Flame graphs for file systems的话题。使用此工具,您只需执行以下命令即可获取图表。
./files.pl /Users | ./flamegraph.pl --hash --countname=bytes > out.svg
这是类似的工具 - duviz,它创建类似的图表,但对于 CLI 而言不是图像输出。优点 - 它写在 Python.