日志堆分析器

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第三方库


热门话题
java根据两个数组的值对数组进行排序   具有自签名证书和NTLM代理的java Maven SSL repo错误   java自定义字体按钮不工作AndroidStudio   java通过Spring MVC web应用程序向客户端发送文本文件   Java Spring Web服务SOAP身份验证   ANT property environment=“env”无法在JAVA中检索它,但如果作为ANT命令运行,则可以正常工作   java是为spring mvc rest api或spring boot api对应用服务器的每个新请求创建的服务、存储库和组件的新实例吗?   java私有静态最终字符串未完成其工作   PKCS12的安全Java密钥重新处理   java JPA继承表每类SQLSyntaxErrorException