Skip to content

Releases: testground/sdk-go

v0.3.0

24 Sep 12:03
ee75be1
Compare
Choose a tag to compare

The SDK now uses the newest version of the Sync Service. No changes to API were made. However, you must use a more recent version of Testground to work with this SDK. Read more on testground/sync-service#4.

v0.2.7

26 Jan 16:05
0c2df83
Compare
Choose a tag to compare

This patch release is updating the schema for pushing metrics to InfluxDB, so that we can filter them by test plan name.

v0.2.6

09 Nov 07:59
1e40e1b
Compare
Choose a tag to compare

This release is:

  1. Updating JSON marshalling for various network types, so that we have consistent naming and easier support in the upcoming testground/sdk-js.
  2. 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

02 Sep 13:28
7cd9742
Compare
Choose a tag to compare

Minor bugfix release to WARN when illegal metric names are used, and to add godocs to the metrics API.

v0.2.4

06 Aug 11:46
6c78051
Compare
Choose a tag to compare

This is a minor release which includes changes to the network.Config type allowing test plans to specify if they want to allow or deny all routes other than those on the control and data networks.

v0.2.3

22 Jul 10:44
b63348a
Compare
Choose a tag to compare

This release includes a few new features and general improvements to the SDK:

  • We introduced generic Invoke() and InvokeMap() functions to take any of two test case function signatures: TestCaseFn (original) and InitializedTestCaseFn (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

29 May 12:07
f97396e
Compare
Choose a tag to compare

This release updates the InfluxDB schema for the runtime environment measurements sent to it. It also introduces a ResettingHistogram type and changes to the runtime counter - it now resets on every emit interval.

v0.2.1

03 May 23:37
49845c3
Compare
Choose a tag to compare
  • 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

30 Apr 13:04
6e611d6
Compare
Choose a tag to compare

👁📊 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.

v0.1.1

22 Apr 14:19
daa68fa
Compare
Choose a tag to compare

Same as v0.1.0, but with explicit licenses under the tag. This repo is licensed under the Permissive License Stack (ASLv2 + MIT).