| Age | Commit message (Collapse) | Author |
|
|
|
Signed-off-by: Jeff Carr <[email protected]>
|
|
|
|
Signed-off-by: Jeff Carr <[email protected]>
|
|
When a test did not run to stability, tell the user which part of the
test was unstable.
Signed-off-by: Will Hawkins <[email protected]>
|
|
When the test does not stabilize (responsiveness), using only the most
recent MAD probes to calculate the provisional final RPM could leave us
with a very small number of samples. So, instead, use all the probe
measurements to do the calculation.
Signed-off-by: Will Hawkins <[email protected]>
|
|
By advancing the stability algorithm's interval when the measurement is
complete, we incorrectly expelled one of those intervals from the RPM
calculation. As a result, the final RPM calculation did not include all
the probe measurements that factored into stability calculation.
Signed-off-by: Will Hawkins <[email protected]>
|
|
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]>
|
|
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]>
|
|
The client was not continuing to add load-generating connections at each
stability-check interval (as called for by the spec).
Also, the client now properly obeys the `--rpm.id` option given on the
command line.
Signed-off-by: Will Hawkins <[email protected]>
|
|
By marking an upload LGC as running earlier than it was actually started
meant that there was a possibility that a probe started on that
connection before the load-generating upload. That caused a violation of
some invariants and caused panics.
Signed-off-by: Will Hawkins <[email protected]>
|
|
[Feature] Add building of Docker image to CI/CD
|
|
Add building of Docker image to the CI/CD pipeline so that #68 never
happens again.
Signed-off-by: Will Hawkins <[email protected]>
|
|
Now that there is a requirement for go 1.21 (and 1.22 upon release),
update the Dockerfile to meet those standards.
Fixes #68.
Signed-off-by: Will Hawkins <[email protected]>
|
|
Relabel Working-Conditions Effect
|
|
Change how the effect of the working conditions is calculated and
presented to the user.
Signed-off-by: Will Hawkins <[email protected]>
|
|
Signed-off-by: Will Hawkins <[email protected]>
|
|
|
|
Use the `--rpm.parallel` to test in parallel mode. The default testing
mode is serial.
Signed-off-by: Will Hawkins <[email protected]>
|
|
Signed-off-by: Will Hawkins <[email protected]>
|
|
Signed-off-by: Will Hawkins <[email protected]>
|
|
Thanks to a few typos, foreign probes were not being properly logged
when data loggers were in use.
|
|
Signed-off-by: Will Hawkins <[email protected]>
|
|
Including instructions for how to build.
Signed-off-by: Will Hawkins <[email protected]>
|
|
Removed loss printout
|
|
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
Some new(ish) files were missing license text.
Signed-off-by: Will Hawkins <[email protected]>
|
|
Signed-off-by: Will Hawkins <[email protected]>
|
|
This approach *seems* like a good idea.
Signed-off-by: Will Hawkins <[email protected]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
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]>
|
|
Added QoO and Cablelabs latency histogram
|
|
* Added units to printout
* Made QualityRequirement and PercentileLatencyPair private
*Removed the hist struct from the SimpleQualityAttenuation struct
(it was only used for testing)
|
|
|
|
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]>
|
|
Missing source file from commit -- direction.go.
|
|
Beginning of a release candidate for support for IETF 02 tag of the
responsiveness spec.
|
|
Thank you to @gregbo.
Fixes #54.
|
|
[Bugfix] Global adherence to max concurrent streams
|
|
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.
|
|
Implemented basic Quality Attenuation
|
|
Fixed silly error in calculating sample variance
|
|
When a probe does not properly reuse an existing connection, do some
additional logging to help the debugging process.
|