Python執行程序實可視化_heartrate


最近發現了一個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

轉自:https://mp.weixin.qq.com/s/U6XUbl0qioC97fh_a0LAiw


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM