summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-07-25[Feature] Add support for L4SWill Hawkins
Signed-off-by: Will Hawkins <[email protected]>
2023-07-21[Feature] Add package support for OpenWRT bundlingWill Hawkins
Including instructions for how to build. Signed-off-by: Will Hawkins <[email protected]>
2023-07-20Merge pull request #60 from domoslabs/mainWill Hawkins
Removed loss printout
2023-07-20Removed loss printoutBjørn Ivar Teigen
2023-07-19[Feature] Add extended-stats for uploadsWill Hawkins
Now that tests are run in sequence, it seems like a good idea to support extended statistics in both directions. Fixes #58 h/t @moeller0 Signed-off-by: Will Hawkins <[email protected]>
2023-07-14[Feature] Relative RPMWill Hawkins
With this feature, the user can use `--relative-rpm` to gather additional data: a relative RPM. The relative RPM score 1. Calculates an RPM before working conditions are achieved. 2. Achieves working conditions (upload and download) 3. Calculates an RPM under working conditions (upload and download) 4. Calculates the percent difference between the RPM calculated in (1) and the RPMs calculated in (3). Signed-off-by: Will Hawkins <[email protected]>
2023-07-14[Bugfix] Accessing channel without protectionWill Hawkins
I was accessing a lock-protected channel without holding the lock. That definitely seems to defeat the purpose of having the lock in the first place. Signed-off-by: Will Hawkins <[email protected]>
2023-07-14Use the user-specified percentile for RPM calculationsWill Hawkins
Despite having parameterized the percentile for RPM calculations, I failed to actually use it when calculating the RPM. Oops. Signed-off-by: Will Hawkins <[email protected]>
2023-07-14[Bugfix] Properly handle errors from filling data seriesWill Hawkins
Checking a previously defined/set error value in most cases when filling in a data series. This patch properly redefines the error variable so that the appropriate check is made. Signed-off-by: Will Hawkins <[email protected]>
2023-07-14Add license information to files where its missingWill Hawkins
Some new(ish) files were missing license text. Signed-off-by: Will Hawkins <[email protected]>
2023-07-14Probe direction is unnused in probe.Probe -- remove itWill Hawkins
Signed-off-by: Will Hawkins <[email protected]>
2023-07-14Use defer to unlock probe data point channel lockWill Hawkins
This approach *seems* like a good idea. Signed-off-by: Will Hawkins <[email protected]>
2023-07-14Suppress non-error of cancelled context causing probe send to failWill Hawkins
It is not an error (per se) for a probe not to be able to be sent when the context of its execution is cancelled. Log the error when debugging only. Signed-off-by: Will Hawkins <[email protected]>
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-14Parameterize Percentile in RPM CalculationsWill Hawkins
Make the percentile used by RPM calculations user-controlled. Note: A percentile-based calculation is not part of the spec. This is an optional feature. Signed-off-by: Will Hawkins <[email protected]>
2023-07-12[Bugfix] Duplicate bucket IDs caused incorrect resultsWill Hawkins
The upload direction reused bucket IDs used during the test in the download direction which caused an incorrect grand-total RPM calculation. To solve the problem, this patch adds a global bucket ID generator and passes that to everyone that needs it. TODO: Make the bucket generator type more generic. Signed-off-by: Will Hawkins <[email protected]>
2023-07-12Merge pull request #56 from domoslabs/ietf02Will Hawkins
Added QoO and Cablelabs latency histogram
2023-07-12Addressed pull request commentsBjørn Ivar Teigen
* Added units to printout * Made QualityRequirement and PercentileLatencyPair private *Removed the hist struct from the SimpleQualityAttenuation struct (it was only used for testing)
2023-07-10Added QoO and Cablelabs latency histogramBjørn Ivar Teigen
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-27Fix broken build -- missing source file.Will Hawkins
Missing source file from commit -- direction.go.
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-06[Bugfix] Fix comment typoWill Hawkins
Thank you to @gregbo. Fixes #54.
2023-06-02Merge pull request #53 from network-quality/strict_max_concurrentWill Hawkins
[Bugfix] Global adherence to max concurrent streams
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-05-24Merge pull request #50 from domoslabs/mainWill Hawkins
Implemented basic Quality Attenuation
2023-05-23Adressed pull request comments.Bjørn Ivar Teigen
Fixed silly error in calculating sample variance
2023-05-23Additional debugging around non-reused connectionsWill Hawkins
When a probe does not properly reuse an existing connection, do some additional logging to help the debugging process.
2023-05-20Hotfix of broken testBjørn Ivar Teigen
2023-05-19Added basic tests of qualityattenuationBjørn Ivar Teigen
2023-05-19Workflow: Don't be too clever.Will Hawkins
2023-05-19Fix workflow syntax (2).Will Hawkins
2023-05-19Fix workflow syntax.Will Hawkins
2023-05-19Add manual workflow dispatch.Will Hawkins
2023-05-19Move the CI action configWill Hawkins
2023-05-19Adding `go test` support to pull requestsWill Hawkins
2023-05-19Trim some long lines in `rpm/rpm.go`Will Hawkins
Thanks to integration of `gofumpt` it is easier to catch places where the lines are *way* too long.
2023-05-19Add VSCode Configuration InformationWill Hawkins
Using `gofumpt` via `gopls` makes it easier to maintain our 100-character-per-line limit. A `settings.json` file makes it easier to configure and instructions in the `README.md` help, too.
2023-05-19[Bugfix] Handle a not-yet-started connectionWill Hawkins
When it is time to calculate the instantaneous throughput, it may be the case that some newly established connection has not yet started. When that is the case, it is not necessarily an error. Fixes #48
2023-05-19Implemented basic Quality AttenuationBjørn Ivar Teigen
2023-04-25[Bugfix] Tighten up check for probe connection reuseWill Hawkins
Even with previous fixes it was *still* possible for a self-down probe to have started before the underlying load-generating connection came online (or so it seems!). This patch will move changing the status of an underlying lgc from not-running state to running state even later to eliminate even the smallest possible gap. Re: #47
2023-04-25Make LgcStatus String()-ableWill Hawkins
Make an LgcStatus type print nicely with %v format verb.
2023-04-23[Bugfix] Missed adding probe package during refactorWill Hawkins
2023-04-22[Cleanup] Add license information to files where missingWill Hawkins
rev3.go and stabilizer.go (in the stabilizer package) were missing their GNU license text.
2023-04-22[Refactor] Move components into separate packagesWill Hawkins
A long-overdue change to split certain packages once smashed into the RPM package into their own package. The resulting code should make it easier for people to navigate the source code. In the process, fixed a bug where a self probe being started on a load-generating connection races with the establishment of the load-generating connection and causes a panic because the self probe is not establishing a connection on an already established connection.
2023-04-19[Bugfix] Wrong URL for upload load-generating connectionWill Hawkins
Well, that's embarrassing.
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-04-15[Bugfix] Call windows.WSAIoctl safely when getting extended stats in windows.goWill Hawkins
Based on CL482495 in the go runtime, there is now a proper way to safely do overlapped IO on Windows. This patch adopts those precautions.
2023-02-22Merge pull request #44 from network-quality/connect_to_secure_mergedWill Hawkins
A grab bag of changes
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