Skip to content

littlebutt/hot-diagnose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hot-diagnose: Python代码运行时诊断工具

hot-diagnose是Python程序运行时诊断工具,也是唯一能够做到实时代码分析功能。它具有以下特点:

  • 运行时诊断(Runtime Diagnose): 它可以根据不同运行参数、上下文环境,动态诊断Python程序运行效果。同时, 由于Python的动态语言特性,该工具可以在程序运行时实时分析程序状态,更新诊断结果。
  • 插件化(Plug-in Support): 该工具通过插件的方式提供大部分业务功能。用户也可以通过API实现自己的诊断工具。
  • 无第三方依赖(No thrid-party dependency): 为了提高项目可维护性,最大发挥性能,该工具主体部分不依赖任何第三方包, 渲染依赖少量的JS包。

安装

目前该工具已上传pypi,可以通过pip安装该工具。同样也可以使用conda、pdm等方式:

pip install hot-diagnose

此外,也可以通过setup.py直接安装:

python setup.py install

使用

基础

hot-diagnose既支持Python脚本诊断,也支持Python包诊断。在诊断Python包时需要确定PYTHONPATH。 比如诊断Python脚本:

python -m diagnose -s script.py args1 args2

诊断Python包:

python -m diagnose -s package_entrance.py -p pythonpath args1 args2

更多详细的运行参数可以通过运行以下代码获得:

python -m diagnose -h

执行完毕后,hot-diagnose会自动弹出HTML页面展示诊断过程和结果。

诊断脚本:

image

诊断包:

image

以上展示的是不包含任何插件的运行截图,通过插件可以实现代码覆盖率统计、Trace统计、Stack Frame统计等。

高级

hot-diagnose提供后端和前端两部分API为用户提供插件编写的接口

(未完待续)

贡献

(未完待续)