Changes in v2.2¶
Optimized Storage Engine¶
Obelisk relies on a cluster of InfluxDB databases as a storage backend, using a proprietary storage engine to load balance data ingest and to coordinate and merge query results.
Recent developments exposed some performance issues with the existing storage engine, which has been replaced in v2.2 with a new and improved implementation.
|Old Engine||Updated Engine|
|Data Rate In (events/s)||10657||10354|
|Data Rate Out (events/s)||1399||12624|
The table above shows results of a stress test on our staging environment, indicating significantly improved query performance with the new engine.
Updated Stats queries for JSON Metrics¶
Obelisk allows calculating statistics for attributes in JSON Metrics (events of type
::json). This feature only works for top-level numerical attributes.
However, we have noticed that this type of queries are slow to complete (and negatively impact other queries) because potentially a lot of stats need to be calculated at the same time: all requested stats functions, for each of the (up to 128) top-level attributes.
That is why we now require you to specify (a single) JSON attribute for which you want to calculate stats when executing a JSON Metric Stats query (using the
jsonAttr query parameter).
See the Swagger Documentation for more information.
Stable v2 and Deprecated v1¶
With the above changes, we now consider Obelisk v2 to be in a stable state. Bugfixes and performance updates will still be performed when necessary, but no new features will be added.
The Obelisk v1 API has been officially deprecated! Please migrate to the v2 API as soon as possible.
New API Announcement¶
We've are now actively working on a new and improved v3 API, planned to be released at the end of the year (December 2020)!