跳转到主要内容

一款记录您网络速度的实用工具。

项目描述

网络速度监控器

我一直很好奇我的设备在一天中网络速度的变化情况。因此,我决定开始收集数据。

快速开始

安装包

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())

贡献和支持项目

欢迎贡献;更欢迎支持!以下是如何帮助的方法

  1. 为仓库加星
  2. 在Twitter上宣传它。
  3. 帮助测试应用程序。
  4. 在您的Raspberry Pi上测试应用程序。
  5. 提交PR以从路线图上删除项目。

路线图

  • 更改存储位置(允许您在云存储上进行备份)。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

netspeedmonitor-0.1.1.tar.gz (5.7 kB 查看哈希值

上传时间:

构建分发

netspeedmonitor-0.1.1-py3-none-any.whl (6.8 kB 查看哈希值

上传时间: Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面