| Age | Commit message (Collapse) | Author |
|
|
|
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]>
|
|
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]>
|
|
Beginning of a release candidate for support for IETF 02 tag of the
responsiveness spec.
|
|
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.
|
|
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!)
|
|
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
|
|
|
|
|
|
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).
|
|
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).
|
|
There were several places where boilerplate language was left in the
license block at the top of files containing source.
|
|
|
|
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).
|
|
|
|
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.
|
|
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`.
|
|
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!
|
|
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).
|
|
Switch from calculating "difference" as percent difference to calculating
the difference as percent change.
|
|
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.)
|
|
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.
|
|
1. Make a traceable interface for all things that can be wrapped
in an httptrace.ClientTrace.
2. Refactor debugging system into debug package.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|