InTouch Hub · Blue Isle Software

ISP Speed Test

Run an ISP speed test (download, upload, latency) and record a breach to a log file when the connection fails or a speed falls below a set threshold.

Provided free and as is, without warranty of any kind — including merchantability, fitness for a particular purpose, and the accuracy or completeness of any result. See the licence. You are responsible for checking what this produces before relying on it.

alertbandwidthisplogmonitoringnetworkschedulespeedteststatussummary

ISP Speed Test

Measures your internet connection's download, upload, and latency, then records a breach whenever the connection is down or a speed falls below a threshold you set.

What counts as a breach

A breach is recorded when either: - the connection fails (any network error → status: down), or - download is below minDownloadMbps, or - upload is below minUploadMbps.

Set a threshold to 0 to disable that check. Set logAll: true to log every run (not just breaches).

Inputs

Outputs (publish)

Log format

<INTOUCH_HOME>/logs/isp_speed_test.csv:

timestamp,status,downloadMbps,uploadMbps,pingMs,reason
2026-07-01 09:14:02,up,41.2,8.7,23.5,"download 41.20 < 50.00 Mbps; upload 8.70 < 10.00 Mbps"
2026-07-01 09:29:02,down,,,,"connection failed: URLError: <urlopen error timed out>"

Example

minDownloadMbps: 100
minUploadMbps: 20
logFile: /var/log/intouch/isp_breaches.csv

Tip: automate it

Add this tool as a task in a job and put the job on a schedule (e.g. every 15 minutes) to build a continuous record of ISP outages and slowdowns. To also get notified, link an alert to the job on failure — the tool exits non-zero when the connection is down.

Publishes

The keys a later task may reference as {{taskName.key}}. Referencing anything not listed here resolves to nothing at run time.

Input Properties

Every property this tool accepts, from its own tool.iml.

Property Type Required Default Description
minDownloadMbps string no 50 Fail (record a breach) if measured download is below this many Mbps. Set to 0 to disable the download check.
minUploadMbps string no 10 Fail (record a breach) if measured upload is below this many Mbps. Set to 0 to disable the upload check.
logFile string no Path to the CSV breach log. Empty = /logs/isp_speed_test.csv (created if missing).
downloadBytes string no 25000000 Bytes to download for the measurement (default 25 MB).
uploadBytes string no 10000000 Bytes to upload for the measurement (default 10 MB).
timeoutSeconds string no 30 Network timeout per request in seconds.
logAll string no false true = log every run; false = log only breaches (connection down or below threshold).