Skip to content

Releases: circonus-labs/gosnowth

v1.4.5

10 Jan 16:49
8378ff1
Compare
Choose a tag to compare
  • Adds a new FindTagsLatest type and a new 'Latest' field to the FindTagsItem type to support SnowthClient.FindTags() returning the latest data values when requested from the IRONdb find call.
  • Changes the signature of the SnowthClient.FindTags() and SnowthClient.FindTagsContext() methods to accept a *FindTagsOptions argument. This argument contains the values for the supported IRONdb find operation query parameters.

gosnowth v1.4.4

21 Nov 20:37
Compare
Choose a tag to compare

Added

  • Added SnowthClient.DoRequest() to issue a custom HTTP request to IRONdb.
  • Added SnowthClient.RebuildActivity() to request a rebuild of IRONdb activity tracking data for a list of metrics supplied in the new type RebuildActivityRequest.
  • Added SnowthClient.WriteRawMetricList() convenience function to support writing raw metric data directly to IRONdb via FlatBuffers Objects.

Changed

  • Changed the signature for SnowthClient.WriteRaw() to return the status result of the /raw operation with the new type IRONdbPutResponse.

Fixed

  • Bug (severe): An issue was fixed that resulted in panics when rollup result data, containing null values in specific places, was decoded from JSON format. Created: 2019-09-16. Fixed: 2019-11-15.

gosnowth v1.4.3

26 Sep 16:26
Compare
Choose a tag to compare
  • Modified the internal structure of the RollupValue and RollupAllValue data types, which are returned by the SnowthClient.ReadRollupValues() and SnowthClient.ReadRollupAllValues() methods, to better express results returned by IRONdb that contain null data values.
  • Modified the internal structure of the TextValue data type, which is returned by the SnowthClient.ReadTextValues() methods, to better express results returned by IRONdb that contain null data values.

gosnowth v1.4.2

20 Sep 17:01
1d72b60
Compare
Choose a tag to compare

Changed

  • Changed the signature for the SnowthClient.GetCAQLQuery() methods to use the new CAQLQuery type as a parameter. This allows all available parameters to be used when executing CAQL queries.
  • Added the CAQLError type which may be returned by the SnowthClient.GetCAQLQuery() methods as an error if the error returned from the corresponding IRONdb API call can be represented from this type. This allows retrieval of extended error information when CAQL query requests fail.
  • The SnowthClient.GetCAQLQuery() methods now send CAQL query requests to IRONdb via a POST request. This prevents potential problems with query string encoding.

gosnowth v1.4.1

19 Sep 16:53
Compare
Choose a tag to compare

Fixed

  • Bug (moderate): The encoding used for CAQL queries was causing a parsing error when the queries contained spaces. Created: 2019-09-15 Fixed: 2019-09-19.

gosnowth v1.4.0

16 Sep 13:07
6b96023
Compare
Choose a tag to compare

Added

  • Adds the FetchQuery type and the SnowthClient.FetchValues and SnowthClient.FetchValuesContext() methods to support fetching data, in the DF4 format, using the IRONdb /fetch API.
  • New functionality has been added to read histogram data using the SnowthClient ReadHistogramValues() and ReadHistogramValuesContext() methods. The new HistogramValue type has been added to represent the histogram data returned by the new methods.
  • New ReadRollupAllValues() and ReadRollupAllValuesContext() methods have been added to SnowthClient. These methods return slices of RollupAllValue values representing IRONdb rollup response data in the legacy / type=all format.
  • Adds new SnowthClient methods for listing Lua extensions and calling any Lua extension via the IRONdb extension APIs: SnowthClient.GetLuaExtensions() and SnowthClient.ExecLuaExtension().
  • Adds specific support for performing CAQL queries using the Lua extension with the SnowthClient.GetCAQLQuery() method.
  • Adds support for a Go data structure representation of the DF4 data format. This is needed to represent CAQL query results and will also allow for future support for IRONdb /fetch API requests.

Changed

  • The RollupValues type has been replaced by the RollupValue and RollupAllValue types. These types are better able to represent all possible rollup data formats that can be returned by IRONdb. This is an API breaking change that modifies the signature of the SnowthClient ReadRollupValues() and ReadRollupValuesContext() methods.
  • The SnowthClient ReadTextValues() and ReadTextValuesContext() have updated signatures to match the parameters of the other data retrieval methods. This is an API breaking change for these methods.
  • These new types allow true support for IRONdb formatted timestamps for rollup data retrieval methods by changing previous Timestamp integer field to a field named Time containing a Go time.Time value. This is translated to/from the IRONdb timestamp format during JSON encoding/decoding and the IRONdb timestamp can be retrieved (as as string) by calling the Timestamp() method on values of the new types.
  • The new methods also support retrieving all types of rollup data. They are no longer restricted to only the average type data.

gosnowth v1.3.2

27 Aug 20:26
Compare
Choose a tag to compare

Changed

  • The integer size of the activity data and account ID data in the FindTagsItem structure returned by calls to FindTags() have been changed from int32 to int64. As has the type of the account ID parameter in calls to FindTags().
  • The integer size in the rollup values returned by calls to GetNodeState() have been changed from uint32 to uint64.

Fixed

  • Bug (severe): It is possible for some types of IRONdb data to deserialize into values that overflow the 32-bit variables used to hold them. Created: 2019-07-01 Fixed: 2019-08-27.

gosnowth v1.3.1

27 Aug 02:36
Compare
Choose a tag to compare

Changed

  • The signature of the FindTags() and FindTagsContext() methods have changed. This is a breaking change to the API. The results are now returned wrapped in a *FindTagsResults value. This allows the total results count value returned by the IRONdb request to be returned to the gosnowth user. Upgrading to this
    release will require modifying any use of these methods in your code to reflect this change.
  • The internal functionality of the client do() method has been modified. It no longer attempts to decode the contents of a response within this method. It returns the response body data back to the caller to be handled there. Additionally, it now also passes response headers back to the caller, so that if they contain any needed information, it can now be used.

gosnowth v1.2.1

01 Jul 14:29
Compare
Choose a tag to compare

Added

  • A new field has been added to the FindTagsItem structure returned by calls to
    SnowthClient.FindTags(). The field is called Activity (JSON: activity), and
    contains the activity data returned by the IRONdb find tags API.

gosnowth v1.2.0

26 Jun 00:55
Compare
Choose a tag to compare

Added

  • Adds SnowthClient.GetStats() functionality. This retrieves metrics and stats
    data about an IRONdb node via the /stats.json API endpoint.
  • The Stats type is defined to hold the metric data returned by the GetStats()
    operation. It stores the data in a map[string]interface{}, allowing the metrics
    exposed by IRONdb to change without breaking gosnowth.
  • Helper methods are defined on the Stats type to check and retrieve commonly
    used information, such as IRONdb version and identification information.
  • Adds an assignable middleware function that can run during the
    SnowthClient.WatchAndUpdate() process. This allows downstream users of this
    library to implement inspections and activate or deactivate node use according
    to node information.

Changed

  • The code that creates and updates SnowthNode values has been changed to pull
    information via GetStats() instead of GetState(), so that additional information
    about the version of IRONdb running on a node can be obtained using the
    SnowthNode value.