日志堆分析器

heapprof的Python项目详细描述


Python 3.7Contributor CovenantMIT LicenseCircleCI

heapprof:日志堆分析器

heapprof是一个用于python 3.7+的日志、采样堆分析器。

  • “logging”是指当程序运行时,它稳定地生成一个内存分配和 发布事件。这意味着您可以很容易地将内存使用视为时间的函数。
  • “采样”意味着它只能记录一个统计上随机的记忆事件样本。这个 在写入日志时显著提高性能,并(使用正确的参数)牺牲 几乎没有准确性。

它配有一套可视化和分析工具(包括时间图、火焰图和 流图),以及一个用于对结果进行自己分析的api。

screenshot of split time plot

heapprof是tracemalloc的补充, 这是一个快照堆分析器。不同的是,tracemaloc跟踪实时内存 在内部,只在调用其snapshot()函数时写入快照;这意味着 开销略低,但您必须知道在 程序启动。这使得查找泄漏(从程序的快照)特别有用 退出,但不如理解像记忆尖峰等事件。

可以使用pip install heapprof安装heapprof。heapprof在 MIT License

您可以在humu.github.io/heapprof阅读所有文档。

导航存储库

如果您试图在github存储库中找到一些东西,这里有一个简短的目录(因为 大多数python包,这是一个扭曲的子目录迷宫,所有这些都不同:

  • heapprof包含python包本身。(API和可视化逻辑)
  • {< CD3> }包含C/C++包。(核心配置逻辑)
  • 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/Makefiledocs/conf.py是通过 斯芬克斯。
    • .circleci是连续集成测试的配置。
    • pyproject.toml和根requirements.txt使setuptools快乐。
  • 已忽略.git但在使用过程中显示的其他目录:
      { }包含C/C++依赖关系及其编译图像;由{{CD11}}管理。
    • _site包含用于文档的最终jekyll站点;如果您 运行bundle exec jekyll serve在本地运行docs web服务器。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
gwt java。lang.UnsupportedClassVersionError:不受支持的专业。小版本51.0   java XML解析器trycatch不工作   java Jackson MRBean不工作,无法构造实例   javascript是检查参数的更好方法吗?   java在发生冲突时从ArrayList中删除对象   JavaSpringWebFlux和KeyClope JWTRESTAPI   java Selected选项在微调器中不可见   java在增加分区后,有没有办法在ApacheKafka中保持顺序?   java添加SourceRoot会导致spring启动应用程序出错   java Spring引导:任何bean都没有实现ReactiveCrudepository   java无法注册我的自定义AbstractAnnotationConfigDispatcherServletInitializer   TCP连接上的java Caesar密码   java树集排序不正确   java如何在自定义查询中加载@ElementCollection?