summaryrefslogtreecommitdiff
path: root/utilities
AgeCommit message (Collapse)Author
2024-01-04[Feature] Reformat test result output.Will Hawkins
2023-07-14[Bugfix]: Out of range percentile calculationsWill Hawkins
It was possible for a user of percentile-calculation functions to request a percentile that caused the underlying array of values to be accessed out of bounds. This patch fixes that error. Signed-off-by: Will Hawkins <[email protected]>
2023-07-10[Feature] Major update: Track measurements that may be delayedWill Hawkins
Among other major feature additions, this version of the client tracks any measurements that may be long delayed and considers their presence or absence as part of a stability measurement. This version of the client also more closely tracks the spec. In particular, it performs a sinle-sided trimmed mean rather than a double-sided trimmed mean. Signed-off-by: Will Hawkins <[email protected]>
2023-06-21Major Update/Refactor to Support IETF 02Will Hawkins
Beginning of a release candidate for support for IETF 02 tag of the responsiveness spec.
2023-06-02[Bugfix] Global adherence to max concurrent streamsWill Hawkins
If a connection in a connection pool is asked for an additional stream that puts it over the limit of the max concurrent connections, the connection pool will spawn a new connection. This behavior is not what we want -- we would prefer that the new connection just wait its turn. Setting the `http2/Transport.StrictMaxConcurrentStreams` flag will accomplish that.
2023-04-19[Bugfix] Probers starting too soon caused panicWill Hawkins
In the case where the scheduler allowed a delay between go threads in a particular order, it was possible that a self prober would attempt to use a connection before an HTTP connection was established. Fixes #45. (at least I hope!)
2023-02-22new flag: --connect-toRandall Meyer
Allows user to override DNS for the initial config request. This is accomplished using a custom DialContext overring the hostname used to Dial to. This allows for TLS certificate validation to still happen(optionally) while connecting to TLS secured resources. Also, - allows for optional enforcement of certificate verification - stamp built git version into binary and adds a --version option - adds a user-agent to all outgoing request - exit(1) on failures for easier shell error detection
2023-02-20lint/deprecation cleanupRandall Meyer
2022-11-07[Feature] Add a function for determining approximate equality for floats.Will Hawkins
2022-11-05[Refactor] Rename/update MovingAverage to MathematicalSeriesWill Hawkins
We want the MovingAverage functionality to be more generic and useful than just doing a moving average calculation. The new functionality allows for the calculation of the standard deviation and supports a generic type (so it can be used with integers and floats).
2022-10-14Relicense with GPLv2Will Hawkins
With this commit the project is being relicensed under GPLv2. All contributors to the code prior to this commit have given their explicit approval for the project to be relicensed (see https://github.com/network-quality/goresponsiveness/issues/41).
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-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-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-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] Change definition of percent changeWill Hawkins
Switch from calculating "difference" as percent difference to calculating the difference as percent change.
2022-05-11[Refactor/Bugfix] Refactor RPM calculation and fix calculation algorithmWill Hawkins
As it turns out, I was misreading the algorithm for calculating the RPM based upon the measurements taken during execution. This patch fixes that mistake and also (starts) renames "RTT" as "measurement" (those are technically a better nomenclature according to the spec.)
2022-05-05Upgraded RPM Calculation Support (Take 1)Will Hawkins
This patch begins the work on updated RPM calculations using the httptrace infrastructure. Because we are still not able to break out the TLS handshake time due to upstream bugs, there are some workarounds in place. However, the numbers appear much more sane.
2022-05-04Make Traceable Interface and Refactor DebuggingWill Hawkins
1. Make a traceable interface for all things that can be wrapped in an httptrace.ClientTrace. 2. Refactor debugging system into debug package.
2022-05-04Fully support self-signed certificates (and add debug levels)Will Hawkins
Two unrelated changes: 1. Add full support for self-signed HTTPS certificates on the server 2. Add support for multiple log levels: So far we only use one, but adding support for additional levels will help us tier the levels to filter out excessive messages.
2022-03-19Rename: Change bearing to generatingWill Hawkins
The newest version of the specification replaces the term bearing with the term generating. This patch brings the updated language to the code to make it easier to track the implementation's conformance to the spec.
2022-03-18Make sure that we format with short lines.Will Hawkins
2022-03-16Format: Add a line-length formatting.Will Hawkins
2022-03-16Refactor: Move magic numbers in to a constants module.Will Hawkins
2022-03-16Refactor: Cleanup the RTT calculation functionality.Will Hawkins
2022-03-15Add utility function for seeking to the end of a file.Will Hawkins
2022-03-14Add a license.Will Hawkins
2021-12-15Refactoring and error handling.Will Hawkins
2021-12-15Basic implementation complete.Will Hawkins
2021-12-14Add sanity checking for configuration.Will Hawkins
2021-12-14Refactoring -- more.Will Hawkins
2021-12-13Intermediate check-in commit. Adding functionality and refactoring.Will Hawkins