5

我在定期生成的 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
4

1 回答 1

1

不确定差异。但是您可以使用FlameGraph 工具在文件(或其他任何内容,如果您产生类似的输出)上绘制火焰图。

这是这个工具的作者关于如何为文件系统制作火焰图的主题。使用此工具,您只需执行以下命令即可获取图表。

./files.pl /Users | ./flamegraph.pl --hash --countname=bytes > out.svg

这是类似的工具 - duviz,它创建类似的图表,但对于 CLI 不是作为图像输出。优点 - 它是用 Python 编写的。

于 2019-09-19T09:50:56.653 回答