Skip to content

A command line tools that reports median latency to AWS regions (a fork of gcping)

License

Notifications You must be signed in to change notification settings

yokawasa/awsping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

awsping

GitHub Actions Go Report Card GoDoc

awsping is a command line tools that reports median latency to Amazon Web Services regions. It is a fork of gcping.

awsping [options...]

Options:
-n   Number of requests to be made to each region.
     By default 10; can't be negative.
-c   Max number of requests to be made at any time.
     By default 10; can't be negative or zero.
-t   Timeout. By default, no timeout.
     Examples: "500ms", "1s", "1s500ms".
-top If true, only the top region is printed.

-csv CSV output; disables verbose output.
-v   Verbose output.

An example output:

$ awsping

 1.  [ap-northeast-1]  50.247016ms
 2.  [ap-northeast-2]  95.119512ms
 3.  [ap-southeast-1]  164.324225ms
 4.  [ap-southeast-2]  234.137157ms
 5.  [us-west-1]       235.008422ms
 6.  [us-west-2]       269.134435ms
 7.  [ap-south-1]      279.4312ms
 8.  [us-east-2]       350.404548ms
 9.  [ca-central-1]    377.65043ms
10.  [eu-west-3]       505.165611ms
11.  [eu-west-2]       515.169295ms
12.  [eu-central-1]    518.303886ms
13.  [eu-west-1]       535.08608ms
14.  [eu-north-1]      575.339622ms
15.  [sa-east-1]       616.53445ms

Installation

Download right binary (ie, your OS & Arch ) from release URL

# Linux 64-bit: Download awsping_linux_amd64.zip
mv awsping_linux_amd64 awsping && chmod +x awsping

# Mac 64-bit: Download awsping_darwin_amd64.zip
mv awsping_darwin_amd64 awsping && chmod +x awsping

# Windows 64-bit: Download awsping_windows_amd64.zip
mv awsping_windows_amd64 awsping && chmod +x awsping

Or, you can always build the binary from the source code like this:

$ git clone https://github.com/yokawasa/awsping.git
$ cd awsping
$ make
$ tree bin

bin
├── awsping_darwin_amd64
├── awsping_linux_amd64
└── awsping_windows_amd64

Run with Docker

git clone git@github.com:yokawasa/awsping.git
cd awsping

# Build an image for awsping
docker build -t awsping .

# Run a container from the image
docker run awsping

An expected output would be like this

docker run awsping

 1.  [ap-northeast-1]  64.78122ms
 2.  [ap-northeast-2]  120.090306ms
 3.  [ap-southeast-1]  196.696755ms
 4.  [ap-southeast-2]  270.307861ms
 5.  [us-west-1]       282.509427ms
 6.  [us-west-2]       288.904962ms
 7.  [ap-south-1]      304.264519ms
 8.  [ca-central-1]    387.60596ms
 9.  [us-east-2]       403.486606ms
10.  [eu-west-2]       519.859119ms
11.  [eu-west-3]       538.331689ms
12.  [eu-west-1]       540.284261ms
13.  [eu-north-1]      559.508794ms
14.  [eu-central-1]    563.902069ms
15.  [sa-east-1]       618.09713ms

GitHub Actions Release Workflow

By your pushing tag, GitHub trigger the GitHub Actions Release workflow where

  • The project is checkout and build in multi-SO & Architecture
  • Release each artifact to release URL in the repository

This is how you trigger the workflow

git tag -a v0.0.1 -m "Version awsping-v0.0.1"
git push --tags

See the workflow for the detail