Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@

## 👀 Other

* [Speedtest Process](other/speedtest-process.md)
* [Proxies](other/proxies/README.md)
* [Cloudflare Tunnel (Zero Trust)](other/proxies/cloudflare-tunnel-zero-trust.md)
* [Traefik](other/proxies/traefik.md)
Expand Down
57 changes: 57 additions & 0 deletions other/speedtest-process.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Speedtest Process

Speedtest Tracker uses the [Official Ookla CLI](https://www.speedtest.net/apps/cli) client to execute the speedtest. There a couple of stages the Speedtest Tracker goes through, below explains the process. 

{% stepper %}
{% step %}
### Started

The Speedtest process is started
{% endstep %}

{% step %}
### Checking

The application checks for an internet connection by calling `https://icanhazip.com`
{% endstep %}

{% step %}
### Skipped \[Optional]

If you have the `SPEEDTEST_SKIP_IPS` the test will be marked as skipped as the IP returning during `Checking` matches your defined IP.
{% endstep %}

{% step %}
### Running

The application runs the speedtest by simply running the speedtest command. This command runs the speedtest like another other speedtest and returns the result in json format so the application an easily process it. 

```
speedtest -accept-license --accept-gdpr --format=json
```

Or when you have defined a server id:

```
speedtest -accept-license --accept-gdpr --format=json --server-id=YOURSERVERID
```
{% endstep %}

{% step %}
### Failed

If for various reasons the Ookla CLI returns an error, because the defined server was offline for example the tests is marked as failed. As well when the `Checking` stage fails when there is no internet. 
{% endstep %}

{% step %}
### Benchmarking

When you have thresholds set this step will evaluate the results against the threshold to determine if the test was healthy or not.
{% endstep %}

{% step %}
### Completed

This is the end stage of the process when every step is completed the test is marked as such. 
{% endstep %}
{% endstepper %}