一款记录您网络速度的实用工具。
项目描述
网络速度监控器
我一直很好奇我的设备在一天中网络速度的变化情况。因此,我决定开始收集数据。
快速开始
安装包
pip install netspeedmonitor
从命令行运行应用
netspeedmonitor app
如果您希望应用在后台运行
netspeedmonitor app &
请务必记录进程ID(PID),以便您可以在必要时将其终止。
要查看监控器UI,请访问您的[localhost的浏览器上的8501端口(https://:8501)。
此应用是如何工作的
在幕后,我们使用speedtest-cli
包向Ookla的速度测试服务器发送数据包。结果随后被记录到TinyDB中。为确保原子事务,我们使用tinyrecord
。由于我们使用[tendo的] singleinstance
模块来确保一台机器上只运行一个实例,因此每个机器上只能运行一个应用实例。运行多个实例可能会导致您的互联网拥堵,尤其是如果您经常ping Ookla的速度测试服务器,因此我们只允许每台机器上运行一个实例。我们使用schedule
在用户可配置的间隔运行speedtest-cli
的速度测试功能。使用loguru
简化了日志记录。UI是使用streamlit
构建的;它构建非常快,非常简单,向团队表示敬意!
注意事项
speedtest-cli
每次测试发送大约几十兆字节的数据。因此,如果您使用的是计费互联网(例如,有数据上限的互联网,如手机上的热点),您可能希望限制ping Ookla服务器的频率,或防止该进程在后台运行。
您的互联网速度数据是私有的,默认属于您
开源软件包将数据存储在您的家目录中。默认情况下,它将在 ~/.speedtest.json
位置存储数据。(JSON是TinyDB的默认存储格式。)您可以检查源代码;按照设计,不会将任何测量数据发送到任何地方。
实际上,如果您想对数据进行自己的分析,这里有一个代码片段,您可以用来分析它。
from tinydb import TinyDB
db = TinyDB("~/.speedtest.json")
df = pd.DataFrame(db.all())
贡献和支持项目
欢迎贡献;更欢迎支持!以下是如何帮助的方法
- 为仓库加星
- 在Twitter上宣传它。
- 帮助测试应用程序。
- 在您的Raspberry Pi上测试应用程序。
- 提交PR以从路线图上删除项目。
路线图
- 更改存储位置(允许您在云存储上进行备份)。
项目详情
关闭
netspeedmonitor-0.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 52dc9e28e1baeca1503c00c5af44d14128afca8d291b7c9dbdb3988f12e49872 |
|
MD5 | 6e0d751c3369d8b2c437c44c7f5d0827 |
|
BLAKE2b-256 | 97317126fa72b1bee7d665b6741ea3227cefe435a0889ae6a87f69da822bfb0a |
关闭
netspeedmonitor-0.1.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 18f9980cda9b188766bcdf658dda6e2fea8ec37bde064d35cdfa6d07c43c2a80 |
|
MD5 | 09265e0b109b0a679e83e697b26f5fba |
|
BLAKE2b-256 | 65fb01ad96edfa03f247a4fc1a1a6ab0c6ac0de1b9932512ab1fc73e51b59dc6 |