本人需求:
网络不是很好,打游戏总是断网,怀疑路由器或者光猫有问题,但是断流是偶现的,极其不方便捕捉,所以做一个长时间测延迟的软件
软件说明:
使用python开发, 主要是利用了其中的yaml的解析配置模块和最重大的matplotlib来生成图片,可以支持长时间有人/无人值守测网通,生成折线图
主要是封装了ping命令,由于cls命令会导致闪烁,python层面的双缓冲自带bug(调用系统命令会盖掉双缓冲的管道),所以使用c写了gotoxy函数,避免闪烁
使用说明:
下载使用即可,下面是yaml中配置参数,yaml格式中和了xml和json的优点,可读性好,空间占用少,#后面是备注,可以根据自己的需求灵活配置,如果ping超时,会把y轴坐标置为-1,设置range参数时必定注意!
range参数会做一个简单的判断,原型就是python中的lambda函数,如果不满足lambda条件,记录会打印在屏幕,但是不会被记录在折线图统计中!
软件分为有人/无人值守模式,通过yaml配置,有人值守模式测速中途可捕捉回车键,按下回车键后立即停止测速并生成折线图,且测速后并不会自动退出,需要按任意键退出
无人值守模式不会捕捉键盘事件,且运行完成后自动退出
注意事项:
由于导入的matplotlib模块功能极其强劲,且python性能较低
所以软件在启动加载过程会假死几秒
软件结束绘图也会花费数秒时间(如果时间跨度极大,作图时间也呈线性增长)
由于可能有人有超长时间的测速需求,那么折线图的样式就需要配置一下。
主要注意事项是在配置文件,请仔细阅读!
target_ip
:
#
目标域名
/ip
‘baidu.com’
count
:
#
测试次数
10
protocol
:
#
协议,目前只支持
icmp
,勿动
–
‘icmp’
cell
:
#
测试间隔,单位秒
1
row_num
:
#
保留最近
n
行记录
5
string_length
:
#
行长度,避免出现脏字符,出现脏字符就加长
100
show_pic
:
#
是否展示折线图,
1
代表展示,
0
代表不展示
0
pic_dir
:
#
生成折线图保存的文件夹
‘./output’
datail_graph
:
#
是否开启准确刻度,开启可使时间刻度不重叠,关闭可显著缩小图片宽度,低于
1600
条每条刻度都显示,超过
1600
条刻度会合并处理
0
range
:
#
简单的判断,满足此条件则记录至画布,由于超时会置为
-1
,所以
-1
的情况也要思考
‘i != 0’
unattended
:
#
是否为无人值守,有人值守时,按回车键可强制停止测速且生成图片后且点击任意键退出,无人值守不可中途停止,且结束自动退出
1
运行截图:
下载地址:
https://wwr.lanzoui.com/ie4hKvvms1i
密码:3z9s
源码地址:https://github.com/zhaoxinyuan996/continued-net-test
打包方式:
test.c编译成cprint.so,放在so文件夹中
新建output文件夹(默认输出文件夹)
config.yaml文件
可选:static中存放的是图标文件
pyinstaller打包
- 最新
- 最热
只看作者