Releases: testground/sdk-go
v0.3.0
v0.2.7
v0.2.6
This release is:
- Updating JSON marshalling for various
network
types, so that we have consistent naming and easier support in the upcomingtestground/sdk-js
. - Refactoring the runtime events and emitting them to the sync service, so that Testground daemon has more visibility over the run status of individual test plan instances.
This release is introducing breaking changes to APIs, so you might need to upgrade Testground as well when upgrading your test plans.
v0.2.5
v0.2.4
v0.2.3
This release includes a few new features and general improvements to the SDK:
-
We introduced generic
Invoke()
andInvokeMap()
functions to take any of two test case function signatures:TestCaseFn
(original) andInitializedTestCaseFn
(new). When the latter is passed, we perform a basic initialization, that is recurringly seen across many test plans. Refer to godocs of that type for more information. -
We added support for custom tags per measurement. Measurements now could include a comma-delimited tags (ala statsd) for example:
fil.node.mine-block,miner=t01000,otherkey=othervalue
. -
We introduced
sdk.Verbose
flag to enable verbose SDK logging. -
We added
runenv.PortNumber()
which passes custom exposed ports to the run environment of test plans. -
We added deferrable
run.HandlePanics()
to propagate panics from children goroutines.
v0.2.2
v0.2.1
-
introduces the
network.Client#GetDataNetworkIP()
method, which scans the local interfaces and matches against the assigned data plane subnet, returning the assigned IP address on the data plane -
new package
ptypes
offering a few JSON-decodable commonplace parameter types: Size, Duration, Rate, paving the way for the near future, when test parameters will be packed as JSON rather than pipe-delimited key-value tuples.
v0.2.0
👁📊 Observability / metrics
This SDK version is a radical change in the way we do metrics.
- We have departed away from Prometheus, and adopted InfluxDB.
- There are three elements that test plans capture/emit:
- Lifecycle events: dispatched immediately to InfluxDB.
- Diagnostics: dispatched immediately to InfluxDB.
- Results: dispatched in batch to InfluxDB once the test concludes.
See #3 for more information.
☎️ Network configuration API
New network
package that encapsulate the sync operations needed to conduct network configuration changes. Instead of fiddling with Publish
and barriers, you now just call netclient.ConfigureNetwork()
— and we take care of the details for you.