How it Works¶
This is a high level overview of how Surfmeter Automator works.
Automator is a command line tool that can be used to run all kinds of measurements. It is designed to be used in a headless environment, which means it does not require a graphical display. The measurements may be run inside the web browser (Google Chrome or Chromium), or natively from the operating system.
Where are Measurements Run?¶
We normally run our measurements inside a browser, e.g. Google Chrome or Chromium. For this, the Surfmeter Lab browser extension must be installed. This is taken care of during the setup process. Surfmeter Lab takes care of the main logic of the measurements, e.g., when measuring video or web services.
When a native measurement is run, the measurement is executed as a standalone program, e.g. with ping
. In this case, Automator will start the program, wait for it to finish, and then collect the results.
Note that multiple measurements can be run in parallel, e.g. one ping
and one traceroute
measurement can be run at the same time.
For more details on the underlying concepts, see the concepts page.
How to get the Results?¶
The resultsĀ for all measurements are collected by the Surfmeter Automator and output to the command line in the log. Furthermore, you can store them as JSON report files for manual inspection. Finally, the results are uploaded to our server, where you can view them in the dashboard, or export them using our API.
What can be Measured?¶
We support a lot of different types of measurements.
- Video quality tests: any video streaming service can be tested, e.g. YouTube, Netflix, etc.
- Web browsing tests: for any website
- Speed tests: using existing speedtest websites like
fast.com
, or CLI tools likespeedtest
- Network tests: like
ping
, DNS,traceroute
, etc.
For a complete list, see the available studies page.
What Results are Produced?¶
Each measurement produces a JSON report file that is also available through our dashboard and the API. A complete list of the measurement data is available in our reference. These data contain metadata (like the type of test, what was being measured etc.) as well as the actual measurement results in terms of KPIs ("statistic values"). Please check our Statistic Values page for more details.
Finally, we collect additional debug data that we call Client Reports. These could be debugging logs from particular video services.