| Age | Commit message (Collapse) | Author |
|
Fixed silly error in calculating sample variance
|
|
|
|
|
|
|
|
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
|
|
Make an LgcStatus type print nicely with %v format verb.
|
|
|
|
rev3.go and stabilizer.go (in the stabilizer package) were missing their
GNU license text.
|
|
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.
|
|
Well, that's embarrassing.
|
|
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!)
|
|
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.
|
|
A grab bag of changes
|
|
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
|
|
|
|
|
|
Also, simplify code for darwin's TCPInfo
|
|
This enables passing in a single URL for easier running
eg networkQuality --url https://networkquality.example.com/path/to/config
|
|
|
|
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.
|
|
|
|
|
|
|
|
Use 4 (the right number) instantaneous probe measurements to calculate
the instantaneous moving average of probe measurements.
|
|
Also, add a test for timeoutat.TimeoutAt.
|
|
|
|
|
|
|
|
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.
|
|
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.
|
|
|
|
Graphing Tool that runs with Python - (matplotlib, pandas)
|
|
Granular throughput logging
Measures on both Up/Down connections
Adds "[OMIT]" tag to csvlogger
|
|
|
|
Use the new structure to manage the collection of open load-generating
connections.
|
|
Include the number of open connections in a throughput data point.
|
|
Add a structure for wrapping a collection of load-generating
connections so that two or more parallel tasks can access
them safely.
|
|
Add an infinite mathematical series that implements the
MathematicalSeries interface.
|
|
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.
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
|
|
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.
|
|
Make it easier to perform other statistical tests and functions on
mathematical series.
|
|
Make the functions in the rpm package dumber. These functions are now
mostly controlled from main in networkQuality.go. That means that they
are more RISC-y and can be used in different ways. This flexibility
makes them especially useful for crafting the implementation of Rev 3 of
the spec.
|
|
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).
|