{"id":22542104,"url":"https://github.com/littlebutt/hot-diagnose","last_synced_at":"2025-07-09T09:06:41.739Z","repository":{"id":187976370,"uuid":"677877743","full_name":"littlebutt/hot-diagnose","owner":"littlebutt","description":"运行时代码诊断工具","archived":false,"fork":false,"pushed_at":"2023-10-15T06:20:55.000Z","size":5929,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-03-15T09:52:01.969Z","etag":null,"topics":["debugger-visualizer","diagnose","runtime"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/hot-diagnose/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/littlebutt.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-13T00:15:05.000Z","updated_at":"2024-01-17T09:16:56.000Z","dependencies_parsed_at":"2023-09-08T14:01:03.120Z","dependency_job_id":"5ad7eff8-a925-418a-a342-b161121e4f2d","html_url":"https://github.com/littlebutt/hot-diagnose","commit_stats":null,"previous_names":["littlebutt/hot-cov","littlebutt/hot-diagnose"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/littlebutt%2Fhot-diagnose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/littlebutt%2Fhot-diagnose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/littlebutt%2Fhot-diagnose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/littlebutt%2Fhot-diagnose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/littlebutt","download_url":"https://codeload.github.com/littlebutt/hot-diagnose/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245991559,"owners_count":20706125,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debugger-visualizer","diagnose","runtime"],"created_at":"2024-12-07T13:08:31.883Z","updated_at":"2025-03-28T07:42:44.708Z","avatar_url":"https://github.com/littlebutt.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"=======================================\nHot-diagnose: Python代码运行时诊断工具\n=======================================\n\n\nhot-diagnose是Python程序运行时诊断工具，也是唯一能够做到实时代码分析功能。它具有以下特点:\n\n* 运行时诊断(Runtime Diagnose): 它可以根据不同运行参数、上下文环境，动态诊断Python程序运行效果。同时，\n  由于Python的动态语言特性，该工具可以在程序运行时实时分析程序状态，更新诊断结果。\n    \n* 插件化(Plug-in Support): 该工具通过插件的方式提供大部分业务功能。用户也可以通过API实现自己的诊断工具。\n\n* 无第三方依赖(No thrid-party dependency): 为了提高项目可维护性，最大发挥性能，该工具主体部分不依赖任何第三方包，\n  渲染依赖少量的JS包。\n\n\n安装\n===============\n\n目前该工具已上传pypi，可以通过pip安装该工具。同样也可以使用conda、pdm等方式:\n\n.. code-block:: console\n\n    pip install hot-diagnose\n\n此外，也可以通过``setup.py``直接安装:\n\n.. code-block:: console\n\n    python setup.py install\n\n\n使用\n================\n\n基础\n----------------\n\nhot-diagnose既支持Python脚本诊断，也支持Python包诊断。在诊断Python包时需要确定``PYTHONPATH``。\n比如诊断Python脚本:\n\n.. code-block:: console\n\n    python -m diagnose -s script.py args1 args2\n\n诊断Python包:\n\n.. code-block:: console\n\n    python -m diagnose -s package_entrance.py -p pythonpath args1 args2\n\n\n更多详细的运行参数可以通过运行以下代码获得:\n\n.. code-block:: console\n\n    python -m diagnose -h\n\n执行完毕后，hot-diagnose会自动弹出HTML页面展示诊断过程和结果。\n\n诊断脚本:\n\n.. image:: ./docs/img/scripts.gif\n\n\n诊断包:\n\n\n.. image:: ./docs/img/packages.gif\n\n\n以上展示的是不包含任何插件的运行截图，通过插件可以实现代码覆盖率统计、Trace统计、Stack Frame统计等。\n\n高级\n----------------\n\nhot-diagnose提供后端和前端两部分API为用户提供插件编写的接口\n\n(未完待续)\n\n贡献\n================\n(未完待续)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flittlebutt%2Fhot-diagnose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flittlebutt%2Fhot-diagnose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flittlebutt%2Fhot-diagnose/lists"}