Skip to content

Metrics

A metric is a type of measurement. Examples are air quality, temperature, humidity, etc. It is an important aspect of how we store values. We keep values of the same metric together. The name of the metric, is also an important identifier of querying values via the API.

Each stored metric is further divided into separate series per datatype. E.g. one device can produce floating point values values for a metric called temperature.celsius while another device made by a different manufacturer could produce values for the same metric id, but with values of type string. The platform will not complain and will store both sets of values.

In the event that both sensor devices are included in a single scope, we need a way of discerning between the different datatypes for the metric. To do this, Obelisk requires explicitly expressing the expected datatype by appending a type identifier to the metric id. E.g. to query values for metric temperature.celsius of type number:

1
GET /api/v1/scopes/{scopeId}/metrics/temperature.celsius::number/events?orderByTime=desc&limit=100