summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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
2023-02-20lint/deprecation cleanupRandall Meyer
2023-02-20Emit Prometheus stats if requestedRandall Meyer
2023-02-20extendedstats: fix build error on other platformRandall Meyer
Also, simplify code for darwin's TCPInfo
2023-02-20new flag: --urlRandall Meyer
This enables passing in a single URL for easier running eg networkQuality --url https://networkquality.example.com/path/to/config
2023-02-20Update dependenciesRandall Meyer
2023-02-15[Documentation] Add Makefile for those with bad memoriesWill Hawkins
For those (like me) with bad memories, it is easier to remember `make` commands than `go build` commands. So, there is now a Makefile with helpful build and test targets.
2023-02-10[Documentation] Describe how to run unit tests.Will Hawkins
2023-02-10[Cleanup] Long-lines cleanupWill Hawkins
2023-02-10[Cleanup] Output and commentsWill Hawkins
2023-02-10[Bugfix] Use 4 (!!) instantaneous probe measurements, not 1Will Hawkins
Use 4 (the right number) instantaneous probe measurements to calculate the instantaneous moving average of probe measurements.
2023-02-10[Cleanup] Update timeoutat.TimeoutAt to remove extraneous go funcWill Hawkins
Also, add a test for timeoutat.TimeoutAt.
2023-01-27[FEATURE] Finalize implementation of rev3 of the draftWill Hawkins
2023-01-27[FEATURE] Make Saturating generic.Will Hawkins
2023-01-27[Feature] support for doing a Double-Sided Trim on Mathematical SeriesWill Hawkins
2022-12-12[Feature] Graphing tool CLI updateJeroen Schickendantz
Added CLI integration for graphing tool. Added area graphing features for graphing tool. Added PDF output for graphing tool. Added probe graph output for graphing tool.
2022-12-12[Feature] Add support for test_endpointWill Hawkins
When a test_endpoint is returned in the config for a test, all requests will be sent to that host but the :authority pseudo header (nee: Host: message header) will contain the host specified in the various `_url` fields of the config data.
2022-12-12[Bugfix] Keylogger use message always outputWill Hawkins
2022-12-11[Feature] Graphing ToolJeroen Schickendantz
Graphing Tool that runs with Python - (matplotlib, pandas)
2022-12-11[Feature] Granular ThroughputJeroen Schickendantz
Granular throughput logging Measures on both Up/Down connections Adds "[OMIT]" tag to csvlogger
2022-12-11[Feature] Rev 3 of Stability (Basic implementation)Will Hawkins
2022-11-20[Feature] Use LoadGeneratingConnectionCollectionWill Hawkins
Use the new structure to manage the collection of open load-generating connections.
2022-11-20[Feature] Collect the number of open connections in throughput data pointWill Hawkins
Include the number of open connections in a throughput data point.
2022-11-20[Feature] Add structure for wrapping collection of LGCsWill Hawkins
Add a structure for wrapping a collection of load-generating connections so that two or more parallel tasks can access them safely.
2022-11-20[Feature] Add support for an infinite mathematical seriesWill Hawkins
Add an infinite mathematical series that implements the MathematicalSeries interface.
2022-11-20[Feature] Make MathematicalSeries an interfaceWill Hawkins
1. Make MathematicalSeries an interface so that there can be different ways for implementing it. 2. Introduce a CappedMathematicalSeries that stores a maximum of N recent (by time of insertion) values. 3. Add a method to the MathematicalSeries interface for calculating the Nth percentile of the values it contains.
2022-11-16[Feature] Add a Null Data LoggerWill Hawkins
The Null Data Logger will do nothing. This makes it possible to write unconditional code around logging -- there will *always* be a logger but sometimes that logger does, well, nothing.
2022-11-07[Feature] Redefine stabilityWill Hawkins
Stability (in rev3) is based on whether the standard deviations of the measurements are within a certain percentage of the average. This commit adds that functionality.
2022-11-07[Feature] Allow caller to define rampup interval for load generators.Will Hawkins