CodeSnap 0.1.0 我已经做出了我刚开始想要的东西

CodeSnap很快就迎来了第一次minor version的release。回想一下,好像也没做特别多东西,但是它竟然能用了。

这次最核心的更新就是拥抱了Google的前端。上一篇文章里有小伙伴推荐了trace viewer和perfetto,看了一下确实就是我想要的前端,功能比我想象的还要强大非常多,feature也很足,唯一的缺点就是稍微重了一点。

但是经过认真的思考,还是决定把前端彻底交给Google,CodeSnap专心处理数据和interface。由于trace viewer和perfetto都是展示Chrome或者Android的trace,它内置的功能真的非常强大,只需要把数据处理好,用它规定的形式传进去就好了。

这里还有个纠结的点,perfetto实际上是开发出来替代trace viewer的,也就是说trace viewer已经走到了它生命的尾端。但是perfetto现在是不支持stand alone的展示的,必须用它的网站去上传数据。但是我总觉得一个单独的到哪儿都能直接打开的HTML文件是很重要的输出,所以现在的CodeSnap支持两种输出形式了。

python -m codesnap -o result.html my_script.py
python -m codesnap -o result.json my_script.py

通过指定输出文件,可以保存html或者json数据。html的部分是用的trace viewer提供的模板直接生成HTML文件,json数据则可以去perfetto打开。

因为已经经过了比较多的调研,并且trace viewer和perfetto确实让我非常满意,所以短期内CodeSnap应该不会再变前端了。

随着基本功能的完成,前端的稳定,我也决定直接发0.1.0的release啦!这个版本应该已经满足个人爱好的使用需求,使用简单,输出直观,推荐大家试用~

接下来的话肯定就是往0.2.0走,我会开发以下几个feature:

  • 通过文件/文件夹指定的黑/白名单,减少不必要数据,同时让比较长的代码使用的内存和生成的数据文件不那么大
  • 增加一个log函数,让用户可以在trace的同时自由地记录一些数据,在展示的时候可以同时出现在时间轴上
  • 如果可能的话,把performance再冲一下,可能要考虑拿掉class name,用line number代替。

如果大家有什么好的建议和意见,欢迎和我交流~也欢迎大家试用CodeSnap!

https://github.com/gaogaotiantian/codesnapgithub.com

发布于 08-11

文章被以下专栏收录