Commit graph

71 commits

Author SHA1 Message Date
Pankaj Garg d8fe8e3241
Update README.md 2019-02-02 16:53:58 -08:00
Pankaj Garg a17a98eaeb Update API key to allow upload. 2019-01-30 05:20:38 -08:00
Pankaj Garg 2e7b9b060f Don't store path in the zip files for releases. 2019-01-30 04:52:03 -08:00
Pankaj Garg 500c4eb894 Add support for automatic build deployment for new versions.
Once a tag is created on the repository, a new build would be produced
and automatically released on github. The version of the build is also
set automatically in the binary using -ldflags option.
2019-01-30 04:38:03 -08:00
Pankaj Garg 65627a0423
Update README.md 2019-01-20 09:21:55 -08:00
Pankaj Garg 7f38d662d2 Add support for reverse mode (for TCP). Fixes (#71) (#73)
Initial version of -r for TCP bandwidth tests + few other enhancements:
- Add timestamp in log messages.
- Handle the case where timer tick is delayed on client side. Server side still
needs work.
- Use high value of GOMAXPROCS to fix starvation of some goroutines.
- Support option to disable per connection statistics. If large number
of sessions are used, then per connection stats were making it hard
to read the results on console.
- Synchronize stats timer between client/server. This makes server and
client print similar test results. Earlier, under varying TCP throuhgput,
results in server and client side were different due to different time
periods for calculating throughput.
2019-01-20 09:13:47 -08:00
Pankaj Garg a8036a44fd
Improve help output by using custom usage function. (#72) 2019-01-16 08:12:58 -08:00
Pankaj Garg 1da024d74b
Update README.md 2019-01-14 20:09:14 -08:00
Pankaj Garg 6408636f03
Update README.md 2019-01-14 20:07:56 -08:00
Pankaj Garg 2bbee835b2
Load balancer support via External Mode (#70)
* Fix command line arguments to enable supporting external server mode.

* Initial version of external mode server. This can work behind a load
balancer.

* Intermediate changes for xserver/xclient.

* Few fixes for external mode. Add support for 'g' for gap in connection
latency test.
2019-01-14 13:56:36 -08:00
Pankaj Garg 443da18e43
Add support for HTTPS (#68)
Initial version of HTTPS support. This uses a dynamically generated self-signed certificate. The main use case is to measure performance of middle boxes like firewalls and proxies.
2019-01-07 09:15:09 -08:00
Stefano Sambi 57b2abda1b fix a runtime error thrown when running on x86-32 (#67) 2019-01-04 03:59:09 -08:00
Pankaj Garg 5fa0aaf0e4
Update README.md 2019-01-03 17:32:50 -08:00
Pankaj Garg 36c1bbdf3c
Add support for -4 or -6 as parameter. (#65)
This allows using specific IP version for running a test.
2019-01-03 17:25:00 -08:00
Pankaj Garg 7e138fd8c1
Update README.md 2019-01-02 20:28:03 -08:00
Pankaj Garg 17ffab4a2b
Remove zero init and reuse code (#63) 2019-01-02 07:52:35 -08:00
Pankaj Garg be9bfd8fd6
Minor change to avoid screen flooding due to #60 (#62)
WSL does not seem to have /proc/net/snmp. Convering this error to debug
message since there is nothing actionable on this. This only impacts UI
functionality cosmetically as UI won't be able to display TCP retransmit
count.
2019-01-01 21:28:38 -08:00
Pankaj Garg 33238ab976
Add support for TCP ping (#61)
Initial version of TCP ping.

This needs enhancements listed below, but is a workable solution (for now):
- Better goroutine synchronization for exit tracking
- Code cleanup for handling of warmup run
- Support for custom number of warmup connections
- Support for custom sleep between successive connections
- Option to select -4 or -6 to force IP version
- Logging the results in json format
2019-01-01 21:12:26 -08:00
Pankaj Garg 976343554f
Change Ethr -> ethr (#56) 2018-12-27 09:49:57 -08:00
Tomasz Tomalak 4a3b018d0d Fix .gitignore file to track proper files (#53) 2018-12-19 08:26:10 -08:00
Piotr Zarycki 863b578b98 Add docker command for OS X (#55)
* add support for Docker

* Update README.md

* Update README.md

* Update README.md

Add OS X docker command to README
2018-12-18 19:18:27 -08:00
Tomasz Tomalak d0fa637f15 Fix ethr when using default ports (#54) 2018-12-18 19:14:24 -08:00
Pankaj Garg e4d67650ae
Update README.md 2018-12-18 13:57:36 -08:00
Pankaj Garg 5f66c47ea4
Update README.md 2018-12-18 13:54:16 -08:00
Pankaj Garg a7e88d8313
Change Ethr -> ethr (#52) 2018-12-18 07:56:21 -08:00
Piotr Zarycki 3ba5f159fb add docker support (#51)
* add support for Docker

* Update README.md

* Update README.md
2018-12-18 04:01:06 -08:00
Pankaj Garg cb338ed249
Add support for custom ports for server. Fixes #15 (#50)
* Add support for custom ports for server. This allows listening on ports other than default ports.

Also add support for OS in travis CI. Ignore failures on go version master and windows since it results in go command not found error on Travis windows builds.
2018-12-17 08:52:58 -08:00
Pankaj Garg a8e296f2ae
Update README.md 2018-12-14 08:34:52 -08:00
fsouza 8f4b6edb3d darwin: gen struct from C for TCP stats (#48)
This way CGO isn't required. The struct was generated using the same
script that the Go teams uses in golang.org/x/sys/unix, which uses `cgo
-godefs` (see https://golang.org/cmd/cgo/#hdr-Go_references_to_C).

Since we're not calling any C functions but rather using a struct, the
struct can be defined in Go and the bytes can be read into the Go
struct, `cgo -godefs` handles the difference in alignment between Go and
C.
2018-12-13 16:31:03 -08:00
Viacheslav Poturaev dc05779392 Fix wrong function name for darwin build (#47) 2018-12-13 08:56:58 -08:00
Y.Horie d50efa8ccd Issue 43 (#46)
* Add travis.yml #43

* Fix dep command in travis.yml #43

* Add go vet,goimports and golint #43

* Fix failed golint #43

* fix goimports and golint exclude vendor #43
2018-12-13 08:46:59 -08:00
girishmotwani a8b80fc760 tcpstats for OS X (#30)
Use low level syscall to fetch the tcpstats

Use cgo to get the systems definition for struct tcpstats.

This makes the solution portable across different versions of the OS.
2018-12-13 01:50:30 -08:00
Rishi Advani b723af0db9 Update README.md (#44)
fixed grammar and sentence structure to improve clarity
2018-12-12 20:43:50 -08:00
Masahiro Fujimura 09a9ba34dd fix typo (#45)
Signed-off-by: masahiro331 <m_fujimura@r.recruit.co.jp>
2018-12-12 19:30:35 -08:00
Y.Horie d79a2e51b2 Move stopStatsTimer in defer runServer #40 (#42) 2018-12-12 08:51:07 -08:00
Pankaj Garg e106916f2b
Update README.md 2018-12-11 08:48:19 -08:00
Pankaj Garg 6c3041f98d
Update README.md 2018-12-11 08:36:20 -08:00
Pankaj Garg a8971d9b50
Add support for UDP bandwidth testing (#20) (#38)
* Add support for UDP based bandwidth tests.

Also did some code cleanup and removed stale code.

* Fix gitignore as it was not ignoring temp VIM files.
2018-12-11 08:35:20 -08:00
lylex aecdaf9239 Add lint target and fix its warnings. (#37) 2018-12-11 07:28:33 -08:00
Y.Horie c073d29e41 fix wrong type durationStr in ethr.go (#36) 2018-12-11 05:00:25 -08:00
lylex ca2bbcc79c Fix a duration error message bug (#31) (#32) 2018-12-11 04:59:35 -08:00
Y.Horie ffc7d5692c fix port error messages on server (#35) 2018-12-11 04:59:09 -08:00
Pankaj Garg 14ed35a008 Make internal message Dbg only. 2018-12-10 09:02:50 -08:00
Pankaj Garg d3f08ddcb7
Update README.md 2018-12-10 08:20:05 -08:00
Pankaj Garg 0c9674d15d
Misc/codecleanup (#29)
* Intermediate changes for Connected UDP.

* Add more changes to support connected UDP.

There is an issue with this approach, as multiple sockets are not able
to listen on connected UDP. We need to add SO_REUSEPORT to make this a
viable solution. This would be done in a later commit but before this
change is merged into master.

* Minor code cleanup.
2018-12-10 08:06:37 -08:00
fsouza 6fcc37915d MacOS support (#27)
* Implement getNetDevStats for Darwin

* darwin: add dummy functions

It compiles now! :)

* darwin: implement hideCursor

* darwin: add missing padding to ifMsghdr2
2018-12-09 14:25:56 -08:00
Julian Xhokaxhiu b979b9c7de Update README.md (#26)
Fix typo.

Lowercase is for search, uppercase is for install.
2018-12-09 06:28:17 -08:00
Julian Xhokaxhiu eccd39ee27 Update README.md (#25)
Add ArchLinux support
2018-12-09 04:51:07 -08:00
nxadm d659f561ab disable incorrect bash syntax highlighting for shell input/output (#23) 2018-12-07 14:06:57 -08:00
Qais Ali 1ccfe771a7 constant generate with iota (#22) 2018-12-07 14:05:57 -08:00