Difference between revisions of "Measurement"

From Senfi Docs
Jump to: navigation, search
Line 1: Line 1:
 
A '''measurement''' is used to represent time-series data that can originate from a device or a complex system.
 
A '''measurement''' is used to represent time-series data that can originate from a device or a complex system.
  
A measurement is made up of
+
A measurement has a ''name'' and ''measurement code'', and is made up of
 
* Timestamp
 
* Timestamp
 
* Tags
 
* Tags
 
* Metrics
 
* Metrics
 +
 +
=== Measurement Code ===
 +
A measurement code is a unique identifier of this measurement. You can use a combination of lowercase alphanumeric characters and underscore.
 +
* The naming convention of a measurement code is as follows: <tt><vendor>_<system>_<version></tt>
 +
* For example: <tt>nest_thermostat_v1</tt>. If you make changes to the measurement (eg. adding or removing metrics), you should increment the version, eg. <tt>nest_thermostat_v2</tt>.
  
 
=== Timestamp ===
 
=== Timestamp ===

Revision as of 14:35, 16 September 2019

A measurement is used to represent time-series data that can originate from a device or a complex system.

A measurement has a name and measurement code, and is made up of

  • Timestamp
  • Tags
  • Metrics

Measurement Code

A measurement code is a unique identifier of this measurement. You can use a combination of lowercase alphanumeric characters and underscore.

  • The naming convention of a measurement code is as follows: <vendor>_<system>_<version>
  • For example: nest_thermostat_v1. If you make changes to the measurement (eg. adding or removing metrics), you should increment the version, eg. nest_thermostat_v2.

Timestamp

When sending a measurement to Senfi, timestamp is represented as tm_source, milliseconds since epoch.

Take note that timestamp refers to when the reading or measurement is taken, not when it is sent. There can be cases where readings are taken, and later sent in a batch. In this case, the timestamp of the measurement will be older than the time of sending.

Tags

Metrics

These can be raw values from the sensing device (eg. rain_level), or derived values (eg. is_flooding). You can decide to compute the derived values by yourself and send it, or to make use of computed measurement to do it.