日志堆分析器
heapprof的Python项目详细描述
heapprof:日志堆分析器
heapprof是一个用于python 3.7+的日志、采样堆分析器。
- “logging”是指当程序运行时,它稳定地生成一个内存分配和 发布事件。这意味着您可以很容易地将内存使用视为时间的函数。
- “采样”意味着它只能记录一个统计上随机的记忆事件样本。这个 在写入日志时显著提高性能,并(使用正确的参数)牺牲 几乎没有准确性。
它配有一套可视化和分析工具(包括时间图、火焰图和 流图),以及一个用于对结果进行自己分析的api。
heapprof是tracemalloc的补充, 这是一个快照堆分析器。不同的是,tracemaloc跟踪实时内存 在内部,只在调用其snapshot()函数时写入快照;这意味着 开销略低,但您必须知道在 程序启动。这使得查找泄漏(从程序的快照)特别有用 退出,但不如理解像记忆尖峰等事件。
可以使用pip install heapprof
安装heapprof。heapprof在
MIT License。
您可以在humu.github.io/heapprof阅读所有文档。
导航存储库
如果您试图在github存储库中找到一些东西,这里有一个简短的目录(因为 大多数python包,这是一个扭曲的子目录迷宫,所有这些都不同:
heapprof
包含python包本身。(API和可视化逻辑)docs_src
包含文档的源,主要是.md
和.rst
文件。docs
包含docs_src
的编译html版本,用tools/docs.py
创建并选中 在。tools
包含在修改heapprof本身时有用的工具。- 然后是所有工具的配置文件:
setup.py
是pip包的主生成配置。.flake8
和.pylintrc
是python linting的配置。
{< CD14> }是C/C++ ++的一种配置方式。 mypy.ini
是python类型检查的配置。Gemfile
用于为文档宿主设置jekyll。_config.yml
是jekyll服务的配置。docs/Makefile
和docs/conf.py
是通过 斯芬克斯。.circleci
是连续集成测试的配置。pyproject.toml
和根requirements.txt
使setuptools
快乐。
_site
包含用于文档的最终jekyll站点;如果您
运行bundle exec jekyll serve
在本地运行docs web服务器。