Commit graph

9 commits

Author SHA1 Message Date
Pankaj Garg 945d59c33b
Add support for throttling in Bandwidth tests, ToS and improved external mode. (#135)
* Intermediate checkin

* Last check-in before deleting ACK message in Ethr.

* Support for client port, throttling and tos almost working.

* Most functionality working as expected with code all cleaned up.

* Linux/OSX Fixes.

* Fix handshake mechanism.

* Minor cleanup.

* More improvements for external mode.

* Improve admin-mode, root user permission checking.

* Improve detection of IP version for ICMP.

* Update README.md
2020-11-30 18:20:57 -08:00
Pankaj Garg 8de3b2e88a
Merge client & external client mode code. Add ICMP support and many other fixes. (#130)
* Simpler single port version of Ethr working now.

* More simplification to use single port

* Minor changes

* More fixes to enable single port and no control channel sync.

* Further improve code, merge client & xclient, add conn latency for both, pretty print.

* Intermediate change

* Initial traceRoute is working.

* Cleanup MTR functionality.

* Organize help better and add validations.

* Update README.md

* Update README.md

* Make ICMP ping and traceRoute working.

* Update README.md

Co-authored-by: Pankaj Garg <pankaj@intellectualheaven.com>
2020-11-10 05:37:52 -08:00
Pankaj Garg ea28260abc
Flatten the file structure (#115)
* Flatten the file structure

* Fix build errors

Co-authored-by: Pankaj Garg <pankaj@intellectualheaven.com>
2020-06-18 10:07:05 -07:00
Boyan Soubachov f94ebb5224 Fixed /proc/net/snmp parsing bug (#97)
* Fixed /proc/net/snmp parsing bug

* Fixed a bug when parsing /proc/net/snmp for Linux machines
* Removed unused, commented code
* Changed error messages to Go best practices (wrapping-friendly)

* * Upgrade Dockerfile
* Upgrade to Go 1.13
2019-09-30 05:43:51 -07:00
Boyan Soubachov 0e781d974b Refactor plotter and stats-gathering functionality (#90)
* Refactor the command line plotting & management code into a package
* Refactor the stats-gathering code into a new package
* Switch to build flags for non-portable packages/code
2019-07-22 20:08:04 -07: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 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
Pankaj Garg 80c99bdab1 First version of Ethr
Ethr is a network performance measurement tool. It allows measurements
of bandwidth, latency, packets/s, connections/s for multiple protocols
such as TCP, UDP, HTTP, HTTPS and ICMP.
2018-12-02 12:39:13 -08:00