软件开发性能分析跟踪小工具

先搞个效果图
在这里插入图片描述
这个UI是在
https://g2.antv.vision/zh/examples/point/bubble#bubble-image 这个的基础上改的.

另外一个效果图, 如下. 也是在G2的基础上改的
参考了. https://g2.antv.vision/zh/examples/bar/basic#time-bar
在这里插入图片描述

有数据才能知道如何分析系统性能. 那么该如何分析呢?
分析整个算法的性能问题点当然方法很多, 但是如果是系统性的算法甚至是分布式系统的算法, 又该如何分析系统性能问题点呢?
我在这里就抛砖引玉了吧.
首先要收集数据, 如果是单个系统,可以用单个类来收集,在代码的相关点上插入性能收集的代码.
先看看怎么用的. 代码如下.

import time
from profile.TaskTimeLine import RecordStart,RecordEnd,InitTimeLine,SaveRecord 

def 起床程序(record):   
    InitTimeLine() 
    RecordStart( "起床" )

    RecordStart( "睁开眼睛" )
    time.sleep(1)
    RecordEnd( "睁开眼睛" )

    RecordStart( "穿衣服" )
    time.sleep(1)
    RecordEnd( "穿衣服" )

    RecordStart( "洗脸" )
    time.sleep(1)
    RecordEnd( "洗脸" )

    RecordStart( "刷牙" )
    time.sleep(1)
    RecordEnd( "刷牙" )

    RecordStart( "吃早餐" )
    time.sleep(1)
    RecordEnd( "吃早餐" )
 
    RecordEnd( "起床" )

第二步: 在项目的启动目录下新建一个文件 timeline.log 就可以啦.
如果删掉这个文件就不会收集性能数据啦, 而且不怎么影响性能哦,可以忽略不计的影响, 记录的时候判断过了, 如果有这个文件就记录数据, 否则就跳过… 这样我们就可以正常在线上跑的时候也可以用它来收集性能数据而不用考虑会不会影响系统性能.
删掉这个文件就没有记录, 有这个文件则开始记录. 这样就方便多了.

那怎么显示性能数据呢?

记录的数据记录在timeline.log中.我们只需要把内容复制, 然后打开 TaskTimeLine.html 黏贴到文本框中, 然后点击显示数据就可以啦

这个TaskTimeLine.html是直接可以在浏览器中打开的. 不需要新建网站什么的. 双击用谷歌浏览器打开即可. 很轻量很绿色.
如果想收集更多的分布式系统的数据可以用数据库或者其它的内存数据库来收集. 重要的是统一时间点哦…
时间限制我就不写这个代码了. 有兴趣的小伙伴欢迎加入到这个项目中, 一起实现分布式系统的性能数据收集功能
甚至动态在线显示各系统环节执行情况, 在线监控系统运行情况也是可以的哦.

GitHub上的项目地址为: https://github.com/phker/SystemTimeLine 欢迎加入

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值