查看原文
其他

又一个Python神器,让执行程序实时可视化

The following article is from GitHuboy Author Boy哥

关注上方“Python数据科学”,选择星标,

关键时间,第一时间送达!

☞500g+超全学习资源免费领取


最近发现了一个Python程序执行的简单实时可视化神器,名字叫 heartrate,安装完运行可以看到下面这样的炫酷过程。

虽然很炫酷,但有点看不懂。

来解释下,左边的动态数字代表每行被触发的次数。变化的蓝色图代表了当时被触发的行,较长的条形图表示被触发次数越多,越签的颜色代表被触发的时间越近

heartrate 的代码高亮部分主要是依赖了executing库:

https://github.com/alexmojaki/executing

除此外,它还可以显示实时堆栈跟踪,有点意思。

安装

pip install --user heartrate

该库目前只支持Python 3.5以上的版本。

用法

import heartrate; heartrate.trace(browser=True)

敲完这一行代码后,将会开始表演:

  • 开始跟踪程序

  • 在线程中启动服务器

  • 打开一个浏览器窗口,显示该文件的可视化位置。

在文件视图中,堆栈跟踪位于底部。在堆栈跟踪中,可以单击要跟踪的文件的堆栈条目以在该行打开该文件的可视化。

trace 仅跟踪调用它的线程。要跟踪多个线程,必须在每个线程中调用它,每次都使用不同的端口。

更多操作

files

另外,该库还有个files的功能,files 可以确定跟踪哪些文件。

首先,它必须是可调用的,需要一个「文件路径」的参数。如果该文件应该被跟踪,则返回True,例如:

from heartrate import trace, files
trace(files=files.path_contains('my_app''my_library'))

可以根据不同需要使用不同的跟踪功能:

  • files.all:跟踪所有文件。

  • files.path_contains(*substrings) :跟踪路径包含任何给定子字符串的所有文件。

  • files.contains_regex(pattern) :跟踪文件本身中包含给定正则表达式的所有文件,因此可以在源代码中标记要跟踪的文件,例如带个注释。

但默认为跟踪包含注释“ # heartrate”的文件。

如果要跟踪多个文件,则可以通过两种方式查看页面的外观:

  • 在堆栈跟踪中,单击堆栈条目以查找要跟踪的文件。这将打开页面并跳到该堆栈条目中的行。

  • 转到位于http:// localhost:9999 /的索引页(可以单击左上角的徽标)以查看跟踪文件的列表。

host

服务器的HTTP主机。要运行可从任何地方访问的远程服务器,请使用'0.0.0.0',默认'127.0.0.1'。

port

服务器的HTTP端口,默认9999。

browser

如果为True,则会自动打开一个浏览器选项卡,其中显示了trace调用该文件的可视化效果,默认为False。

daemon

设置包含服务器的线程是否是守护线程。将其设置为true可以在程序其余部分完成后关闭服务器。

GitHub主页:

https://github.com/alexmojaki/heartrate

- 完 -

推荐阅读

你只管打开这个网站,剩下的交给「卧槽」

因为一条SQL,我差点被祭天......
21 张让你代码能力突飞猛进的速查表(神经网络、线性代数、可视化等)
数据分析5大软件「优势PK」:Python、Excel、R、SAS、SPSS你最爱哪个?
微软又发布了一款命令行神器!!!
B 站上那些不用钱的 Python 学习资源

特别推荐
特别推荐:一个优质的推荐Github开源项目的公众号「GitHuboy」,每天给大家分享前沿、优质的项目,涉及 Java、Python、Go、Web前端、AI、数据分析等多个领域,非常值得大家关注。

回复「Java学习」获得 1024G Java学习资料
回复「Python学习」获得 100G Python学习资料


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存