• Stars
    star
    120
  • Rank 295,983 (Top 6 %)
  • Language
    Shell
  • Created about 10 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

📶 Tools to enhance the speedtest-cli network tools

speedtest-cli-extras

The speedtest-cli-extras repository contains tools that enhance the speedtest-cli command-line interface to speedtest.net for benchmarking an internet connection.

Requirements

  • The speedtest-csv tool requires:
    • a Bash shell or be called via bash speedtest-csv.
    • speedtest-cli which in turn requires Python.
    • that speedtest-cli is on the PATH or in the same directory as speedtest-csv.

Windows users: The MinGW project's MSYS package is an straightforward way to get Bash on Windows. Note, there is a speedtest-csv.bat Windows Batch wrapper script that calls the Bash script for you. In other words, if you call speedtest-csv at the Windows command prompt, it will work just as if you called it from Bash. Regardless, you do need Bash also on Windows.

speedtest-csv

The speedtest-csv tool calls speedtest-cli, captures its multi-line output, reformats it, adds time stamps, and outputs the benchmark statistics on a single well formatted line, e.g.

$ speedtest-csv --header
start	stop	from	from_ip	server	server_dist (km)	server_ping (ms)	download (Mbit/s)	upload (Mbit/s)	share_url
$ speedtest-csv
2016-04-04 16:35:01	2016-04-04 16:35:51	Comcast Cable	24.130.241.190	Fastmetrics Inc. (San Francisco, CA)	20.46	18.168	4.88	1.34	http://www.speedtest.net/result/5224137223.png

Collecting statistics over time

By running the above on a regular basis (e.g. once an hour) and appending the output to a TAB-delimited file one can gather statistics over time. To add meaningful column names to the top of this file, start off by adding a header:

$ speedtest-csv --header > speedtest_stats.tsv
# At 00:00 UTC
$ speedtest-csv >> speedtest_stats.tsv
# At 01:00 UTC
$ speedtest-csv >> speedtest_stats.tsv
# ...

$ less speedtest_stats.tsv
start	stop	from	from_ip	server	server_dist	server_ping	download	upload	share_url
2016-04-04 08:00:01	2016-04-04 08:01:01	Comcast Cable	24.130.241.190	Fastmetrics Inc. (San Francisco, CA)	20.46	18.168	4.88	1.34	http://www.speedtest.net/result/5224137223.png
2016-04-04 09:00:02	2016-04-04 09:00:42	Comcast Cable	24.130.241.190	Monkey Brains (San Francisco, CA)	21.36	16.723	3.40	0.21	http://www.speedtest.net/result/5224152283.png
[...]

If you're on Linux or macOS, you can use Cron jobs to automate the above.

Usage

$ speedtest-csv --help
speedtest-csv 2.0.1

Usage:
 speedtest-csv [options]

Options:
 --header          Display field names (only)

 --header-units    Units (ms, Mbit/s and km) are in header (default)
 --no-header-units Units are in the values
 --standardize     Standardize units and number formats (default)
 --no-standardize  Disable --standardize
 --share           Generate and provide a URL to the speedtest.net
                   share results image (default)
 --no-share        Disable --share

 --quote <str>     Quote fields using <str> (default: none)
 --sep <str>       Separate fields using <str> (default '\t')

 --help            This help
 --version         Display version

 --debug           Output extra debug information
 --last            Use most recent stats, if available
                   (avoids calling `speedtest-cli`)

Any other options are passed to speedtest-cli as is.

Example:
 speedtest-csv --header
 speedtest-csv

 # Defaults in speedtest-csv (<= 1.3.0):
 speedtest-csv --sep ';' --no-standardize --no-header-units

Installed dependencies:
 speedtest-cli 1.0.1 (https://github.com/sivel/speedtest-cli)
 python 2.7.12

Copyright: 2014-2017 Henrik Bengtsson
License: GPL (>= 2.1) (https://www.gnu.org/licenses/gpl.html)

Notes

As of Nov 2016, speedtest-cli (>= 1.0.0) itself supports outputting the results a single comma-separated value line. The format is slightly different from here, but the idea is very similar.

More Repositories

1

future

🚀 R package: future: Unified Parallel and Distributed Processing in R for Everyone
R
916
star
2

progressr

三 R package: An Inclusive, Unifying API for Progress Updates
R
254
star
3

future.apply

🚀 R package: future.apply - Apply Function to Elements in Parallel using Futures
R
200
star
4

matrixStats

R package: Methods that Apply to Rows and Columns of Matrices (and to Vectors)
R
191
star
5

startup

🔧 R package: startup - Friendly R Startup Configuration
R
150
star
6

Wishlist-for-R

Features and tweaks to R that I and others would love to see - feel free to add yours!
R
127
star
7

parallelly

R package: parallelly - Enhancing the 'parallel' Package
R
111
star
8

R.matlab

R package: R.matlab
R
84
star
9

future.batchtools

🚀 R package future.batchtools: A Future API for Parallel and Distributed Processing using batchtools
R
83
star
10

doFuture

🚀 R package: doFuture - Use Foreach to Parallelize via Future Framework
R
79
star
11

R.utils

🔧 R package: R.utils (this is *not* the utils package that comes with R itself)
R
59
star
12

dirdf

R package: dirdf - Extracts Metadata from Directory and File Names
R
58
star
13

future.callr

🚀 R package future.callr: A Future API for Parallel Processing using 'callr'
R
56
star
14

R.cache

♻️ R package: R.cache - Fast and Light-weight Caching (Memoization) of Objects and Results to Speed Up Computations
R
35
star
15

profmem

🔧 R package: profmem - Simple Memory Profiling for R
R
33
star
16

ucsf-vpn

Linux command-line client to manage a UCSF VPN connection
Shell
29
star
17

globals

🌐 R package: Identify Global Objects in R Expressions
R
28
star
18

listenv

R package: listenv - Environments Behaving As Lists
R
28
star
19

dotfiles-for-R

My dotfiles for R, e.g. .Rprofile and .Renviron
R
28
star
20

R.rsp

📄 R package: Dynamic generation of scientific reports
R
27
star
21

R.oo

R package: R.oo - R Object-Oriented Programming with or without References
R
20
star
22

brother-ptouch-label-printer-on-linux

How to print to a Brother P-touch (PT) label printer on Linux
Lua
18
star
23

R.devices

🎨 R package: Unified Handling of Graphics Devices
R
17
star
24

shellcheck-repl

Validation of Shell Commands Before Evaluation
Shell
14
star
25

future.mapreduce

[EXPERIMENTAL] R package: future.mapreduce - Utility Functions for Future Map-Reduce API Packages
R
13
star
26

port4me

🆓 port4me - Get the Same, Personal, Free TCP Port over and over
Shell
13
star
27

marshal

R package: marshal - Framework to Marshal Objects to be Used in Another R Processes
R
13
star
28

TopDom

R package: TopDom - An efficient and Deterministic Method for identifying Topological Domains in Genomes
R
13
star
29

git-bioc

:octocat: LEGACY: Git commands to keep a Git repository and Bioconductor SVN in sync
Shell
10
star
30

article-bengtsson-future

H. Bengtsson, A Unifying Framework for Parallel and Distributed Processing in R using Futures, The R Journal, 10.32614/RJ-2021-048, 2021
TeX
10
star
31

future.tests

🔩 R package: future.tests - Test Suite for Future API Backends
R
10
star
32

future.clustermq

🚀 R package future.clustermq: A Future API for Parallel Processing using 'clustermq'
R
9
star
33

aroma.affymetrix

🔬 R package: Analysis of Large Affymetrix Microarray Data Sets
R
9
star
34

fake-hdf5r

R package: hdf5r - Fake, Dummy, Non-Working 'hdf5r' Package for 'Seurat' Users
R
8
star
35

future-tutorial-user2022

Tutorial: An Introduction to Futureverse for Parallel Processing in R (useR! 2022)
R
8
star
36

RNativeAPI

R package: RNativeAPI - Documentation and Examples of the R Native API (Proof of Concept)
R
8
star
37

future.BatchJobs

🚀 R package: future.BatchJobs: A Future API for Parallel and Distributed Processing using BatchJobs [Intentionally archived on CRAN on 2021-01-08]
R
8
star
38

PSCBS

🔬 R package: Analysis of Parent-Specific DNA Copy Numbers
R
7
star
39

BiocParallel.FutureParam

🚀 R package: BiocParallel.FutureParam - Use Futures with BiocParallel
Makefile
7
star
40

affxparser

🔬 R package: This is the Bioconductor devel version of the affxparser package.
C++
7
star
41

illuminaio

🔬 R package: This is the Bioconductor devel version of the illuminaio package.
R
6
star
42

x86-64-level

x86-64-level - Get the x86-64 Microarchitecture Level on the Current Machine
Shell
6
star
43

future.aws.lambda

R package: future.aws.lambda - A Future API for Parallel Processing on AWS Lambda
5
star
44

conda-stage

conda-stage: Stage a Conda Environment on Local Disk
Shell
5
star
45

ThinkpadX1-Windows10-Middle_mouse_button_issue

AutoHotkey
5
star
46

teeny

🐣 R package: teeny - A Minimal, Valid, Complete R Package
R
4
star
47

rcli

R package: rcli - R Command-Line Interface Extras
R
4
star
48

easycatfs

easycatfs - Easy Mounting of Slow Folders onto Local Disk
Shell
4
star
49

pkgdown.extras

R package: pkgdown.extras: Enhancing the 'pkgdown' Package
R
3
star
50

TopDomData

R package: TopDomData - Data for the TopDom Package
R
3
star
51

environments

[experimental] R package: environments - Working with Environments and Closures in R
R
3
star
52

CostelloPSCNSeq

R package: Parent-specific Copy-number Estimation Pipeline using HT-Seq Data
R
3
star
53

fix.connections

R package: fix.connections - Workarounds for Deficiencies in R's Built-in Connections [PROTOTYPE]
R
3
star
54

jottr.org-blogdown

JottR - Some Jotter on R
HTML
2
star
55

git-r

A Git Extension Making it Easier to Build R from Source
Shell
2
star
56

revdepcheck.extras

R package: revdepcheck.extras - Reverse-Dependency Checks from the Command Line (CLI)
R
2
star
57

r-base-centos7

Docker container image: Centos 7 with R (UNDER CONSTRUCTION)
2
star
58

R.filesets

R package: R.filesets - Easy Handling of and Access to Files Organized in Structured Directories
R
2
star
59

trackers

PROTOTYPE: trackers - Track Changes in R
R
2
star
60

CBI-software

A Scientific Software Stack for HPC (CentOS oriented)
Makefile
2
star
61

R_CRAN_Booster

Chrome Extension: R CRAN Booster - adds useful annotations to CRAN package pages
JavaScript
2
star
62

drat

R package repository
1
star
63

RGitHubAPI

R
1
star
64

dotfiles-for-emacs

Dot files for Emacs
Emacs Lisp
1
star
65

bash-startup

Bash Startup utility functions
Shell
1
star
66

markin

markin - The Markdown Injector
Shell
1
star
67

AutoHotkey-scripts

AutoHotkey
1
star
68

docker-spark-r

1
star
69

aroma.cn

🔬 R package: aroma.cn
R
1
star
70

aroma.agilent

🔬 R package: aroma.agilent [DORMANT]
R
1
star
71

R.batch

R package: R.batch [DEPRECATED]
R
1
star
72

R.lang

R.package: R.lang [DEPRECATED]
R
1
star
73

r-mirrors

Mirror CRAN and Bioconductor repositories on the local file system for R package installaions without internet access
Makefile
1
star
74

covr-utils

[LEGACY] Enhancements for covr making it even easier to do assess source-code coverage of R package tests
R
1
star
75

amazonlinux-r-minimal

Docker Hub Image: docker pull henrikbengtsson/amazonlinux-r-minimal
1
star
76

future.api.tests

[PLANNED] R package future.api.tests: Conformance Tests for the Future API
1
star
77

calmate

🔬 R package: calmate - Improved Allele-Specific Copy Number of SNP Microarrays for Downstream Segmentation
R
1
star
78

LinuxEnvironmentModules

R package: LinuxEnvironmentModules - An R API to Linux Environment Modules
R
1
star
79

Affx-Fusion-SDK

🔬 Affymetrix Fusion Software Developers Kit (SDK)
C++
1
star
80

aroma.core

🔬 R package: aroma.core - Core Methods and Classes Used by 'aroma.*' Packages Part of the Aroma Framework
R
1
star