Pyinstrument 5 - Python 的火焰图

主要观点:

  • 发布 Pyinstrument 5.0.0,带来多年筹备成果。
  • 介绍其两种模式:“call stack”(调用栈)模式和“timeline”(时间线)模式,新的“timeline”模式很有用且交互性好。
  • 详细阐述实现新“timeline”模式的过程,包括用 Typescript 重写部分函数、在 HTML 2D Canvas 中实现界面等,还提到设计颜色方案的过程。
  • 提及其他改进,如简化页面头部设计、Call stack 视图支持箭头键导航、改变“library”代码检测方式、profiler.start()可传target_description参数。
  • 邀请尝试 HTML 输出并获取最新版本,可在 Mastodon、Reddit 或 Github 上反馈意见。

关键信息:

  • 新“timeline”模式可通过pyinstrument -r html myscript.py获取,60fps 流畅,与调用栈视图并存且从相同数据渲染。
  • 用 Typescript 重写函数实现“timeline”模式,通过 HTML 2D Canvas 实现界面。
  • 设计颜色方案时采用 RomaO 循环调色板并进行调整,通过特定算法选择颜色。
  • 其他改进包括页面头部设计、导航功能、“library”代码检测和profiler.start()参数。

重要细节:

  • 旧“timeline”模式输出及与新模式对比。
  • 各种模式下的视频展示,如新“timeline”模式视频、Call stack 视图选项视频、Timeline 视图选项视频、颜色选择算法视频。
  • 可在线尝试 HTML 输出及获取最新版本的方法(pip install -U pyinstrumentpyinstrument -r html运行脚本)。
  • 反馈渠道在 Mastodon、Reddit 或 Github 上。
阅读 10
0 条评论