Changes in v2.1¶
Introduction of a system-wide health check
Users can now perform a GET request to https://obelisk.ilabt.imec.be/api/v2/status to check if Obelisk is still healthy. If you are having issues, it can be useful to check here first if Obelisk is operating correctly before posting an issue on our helpdesk. If the health check reports issues, we are probably already working on it.
The health check status data is being fed by a monitoring service that is using the platform like a typical application would (posting and querying data or metadata, listening to the SSE channel, ...).
Introduction of additional timing attributes
A common misconception is that the event timestamp refers to the time the event was received by Obelisk, while these are actually set by the data producers when uploading data to Obelisk. This allows producers to upload older data (or even data in the future, e.g. predictions).
Sometimes users are reporting issues because of this interpretation of event timestamp. E.g. SSE streams are perceived to be lagging because the producer is buffering data before uploading, so timestamps are always a few minutes behind.
This is why we decided to make additional timing attributes available for Query and Streaming operations (for the v2 API). You can now request two additional fields when querying raw data (using the fields query parameter):
_tsReceivedMs: a milliseconds UTC timestamp referring to the time the event was received by Obelisk.
_tsStoredMs: a milliseconds UTC timestamp referring to the time the event was actually persisted by Obelisk.
When streaming metric events, the individual JSON events will now include an additional attribute
tsReceivedMs (milliseconds UTC timestamp) that refers to the time the event was received by Obelisk. It allows you to calculate SSE lag accurately! Feel free to contact us using the helpdesk if streaming isn't performing as expected!