summaryrefslogtreecommitdiff
path: root/stabilizer
AgeCommit message (Collapse)Author
2024-01-27[Bugfix] Stabilizer was optimisticWill Hawkins
The "all complete" flag incorrectly overwrote a previous value, even if that value was false. The result? If an aggregate was incomplete but any later aggregate was complete, it would conclude that all aggregates were complete. Signed-off-by: Will Hawkins <[email protected]>
2024-01-26[Bugfix] Only probes collected during stable MAD countWill Hawkins
For calculating the final RPM, only those probes that are sent/received during the stable MAD should count. 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-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-02-10[Cleanup] Long-lines cleanupWill Hawkins
2023-02-10[Cleanup] Output and commentsWill Hawkins
2023-01-27[FEATURE] Finalize implementation of rev3 of the draftWill Hawkins
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-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[Refactor] Add Stabilizer Interface/PackageWill Hawkins
Add an interface (and an implementation) for a generic stabilizer. This functionality will allow us to easily redefine/experiment with stability algorithms without having to revamp the entire code base all the time.