summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-10-03Merge pull request #37 from network-quality/Enhance-Throughput-LoggingWill Hawkins
[Feature] Extend Throughput Logging
2022-09-30[Feature] Extend Throughput LoggingJeroen Schickendantz
Extends throughput logging to continue even after saturation has been reached by the algorithm.
2022-09-07[Bugfix] Broken extended-stats compilation for macOSWill Hawkins
Sorry everyone!
2022-08-19Merge pull request #36 from network-quality/Enforce-EncodingWill Hawkins
Force No Compression
2022-08-18Force No CompressionJeroen Schickendantz
Force http-compression off by: Sending header "Accept-Encoding: identity" in request. Checking header "Content-Encoding" in response.
2022-08-18Merge pull request #35 from network-quality/TCPInfo-WindowsWill Hawkins
[Feature] Open TCP Info (RTT and Cwnd) access for client
2022-08-18[Feature] Open TCP Info (RTT and Cwnd) to clientJeroen Schickendantz
Allow for new (RTT and Cwnd) logging on windows build
2022-08-17Update code format to meet 80-column requirement.Will Hawkins
2022-08-17Removing (old) experiment data files.Will Hawkins
2022-08-17[Bugfix] Do not unconditionally output message about data loggerWill Hawkins
2022-08-17[Feature] Add TCP information (RTT and Cwnd) to LoggingWill Hawkins
This patch adds support for logging the underlying RTT and Cwnd of the TCP connection used when doing probes. More work to follow in order to add support for this information on Windows and Darwin.
2022-08-17Remove the -strict optionWill Hawkins
We never really implemented it any way!
2022-08-10Fix typos in the license textWill Hawkins
There were several places where boilerplate language was left in the license block at the top of files containing source.
2022-07-29[Feature] Add support for logging throughput measurementsWill Hawkins
With this patch, data logging now supports reporting the moving average of upload/download throughput as saturation is pursued.
2022-07-16[Formatting] Cleanup long lines.Will Hawkins
2022-07-16[Feature] Support spec v2 (4/4); Add data loggingWill Hawkins
Besides work to complete the support for v2 of the RFC, this patch adds support for logging each of the probe results to a CSV file (--logger-filename).
2022-07-02[Feature] Support spec v2 3/nWill Hawkins
2022-07-01[Feature] Support spec v2 2/nWill Hawkins
2022-07-01[Feature] Support spec v2Will Hawkins
This is a WIP for supporting v2 of the RPM spec.
2022-06-29Merge pull request #31 from network-quality/data-analysis-routerWill Hawkins
Cipher comparison on non-AES hardware
2022-06-28Cipher comparison on non-AES hardwareJJ
Compares measurement capabilities (for AES vs CHACHA ciphers) on an older "low-end" router that does not have AES hardware support. More information in README.md
2022-06-22[Cleanup] Make long lines shorter and fix static fmt warningsWill Hawkins
Besides running golines (for the first time in a while now that the tool supports generics), this commit removes punctuation and newlines from Errorf parameters -- something that gofmt does not like (I never knew!).
2022-06-22Merge pull request #30 from network-quality/extended-stats-windowsWill Hawkins
[Feature] Add extendedstats support for Windows
2022-06-22[Feature] Add extendedstats support for WindowsJJ
The added support has similar stats to getTCPInfo for linux. Signed-off-by: Will Hawkins <[email protected]>
2022-06-17[Feature] Use the new GetTCPConnectionInfo API for extended stats on macOSWill Hawkins
Now that there is support for GetTCPConnectionInfo on macOS, we can re-enable extended stats on the macOS platform!
2022-06-17[Feature] Expose send/recv mss, and reorderings in extended statsWill Hawkins
@moeller1 requested additional stats on the *nix platforms. Subsequent patch will enable the same statistics on macOS.
2022-06-15[Bugfix] Compilation error on Windows from missing packageWill Hawkins
In the conditionally compiled code on Windows, there was a missing "fmt" import that broke the build. This patch rectifies that problem.
2022-06-13Merge pull request #25 from network-quality/timeout-patchWill Hawkins
Timeout patch
2022-06-13Merge branch 'main' into timeout-patchJJ
2022-06-13Add optional timeoutsJJ
2022-06-12[Bugfix] Dereference nil when type assertions failed in ↵Will Hawkins
IncorporateConnectionStats Errors as a result of failed type assertions in IncorporateConnectionStats were caught/logged but there was no function-termination control flow associated with these error conditions. As a result, control would continue and cause problems. This patch fixes that.
2022-06-10Merge pull request #22 from richb-hanover/mainWill Hawkins
Update Dockerfile and .gitignore
2022-06-10Merge pull request #24 from acohn/darwin-noextendedstatsWill Hawkins
Disable extendedstats for Darwin builds
2022-06-10update go.mod: golang.org/x/sys is no longer indirectAlex Cohn
2022-06-10Disable extendedstats on darwinAlex Cohn
The Darwin golang.org/x/sys/unix package does not contain a TCPInfo struct, which causes the project not to compile on macOS systems.
2022-06-07Merge branch 'network-quality:main' into mainRich Brown
2022-06-07Add `--rm` option to remove the Docker container after running RPM Test.Rich Brown
(Unused containers accumulate if you don't --rm.)
2022-06-07[Bugfix] Conditional build support broken for WindowsWill Hawkins
Now that we are conditionally building parts of the source code so that we can use *nix's platform support for TCPInfo, it is hard to make sure that I have all platforms working right at the same time. @Schickendantzj helped debug this error this morning.
2022-06-05Update Dockerfile for golang 1.18.3 and alpine 3.16Rich Brown
2022-06-05Merge branch 'network-quality:main' into mainRich Brown
2022-06-05Update Docker base to use golan 1.18.1Rich Brown
2022-06-05[Feature] Add -extended-stats for *nix platformsWill Hawkins
On *nix platforms, there is now a `-extended-stats` option that will print out some extended statistics for the test. The statistics are based on information gleaned from the `TCP_INFO` of the underlying TCP connections. What is implemented so far is just a proof of concept of the extended stats that could be calculated. Depending on what users want, we can add additional extended statistics.
2022-06-04[Feature] Add conditional compilation support for GetTCPInfoWill Hawkins
Now there is functionality for conditionally supporting GetTCPInfo depending on the platform. If the platform supports it, then the client can call utilities.GetTCPInfo. In the case that the platform does not support the GetTCPInfo function call, the result is an error of the type `NotImplemented`.
2022-06-04[Feature] Access TCP_INFO about underlying TCP connectionsWill Hawkins
This will only work on *nix systems. Code that displays information in this PR is only exemplary -- I am sure that there are better places in the code to display it!
2022-06-04[Bugfix #21] Bad alignment of elements in structs accessed atomicallyWill Hawkins
Fixes #21
2022-05-17[Comments] Fix a few commentsWill Hawkins
1. A misleading comment was corrected. 2. A typo was fixed.
2022-05-13[Improvement] Increase granularity of transfer rate calculationWill Hawkins
Previously the code relied on the fact that the go runtime would wake up the saturation go function at exactly 1 second intervals, as we asked. With this change, the code takes into account any minor fluctuations in that time when calculating the throughput in an interval. I hope that this change is an improvement.
2022-05-13[Refactor] Additional (general) refactoring.Will Hawkins
2022-05-13[Refactor] Create config package and package-ify saturate()Will Hawkins
1. Create a separate package to handle the config information. 2. Move the saturate functionality into the rpm package. 3. Do general renaming/refactoring so that we are consistently saying measurement and not RTT (this nomenclature is more consistent with the standard).
2022-05-12[Functionality] Match Apple's Client RPM Calcuation -- Remove DNSWill Hawkins
Per a (to-be-released) update from the spec, the time for a DNS lookup is no longer considered to make up a portion of the RPM.