Data Model

ATSD supports the following data types: Time Series, Properties, and Messages.

Time Series is a time-indexed array of samples (observations), each consisting of a timestamp and a numeric value (for example CPU utilization or body temperature). Each series is uniquely identified by entity name, metric name, and optional series tags. If multiple samples with the same timestamp are inserted for the same series, the latest sample prevails, unless the metric is optionally enabled for version tracking.

Properties represent metadata describing entities obtained from configuration files, a system command output, or a table in a relational database. Property examples are device model, OS version, and location. Unlike time series, the database stores only the last value for each property. Such value is stored as text. Properties are collected at a lower frequency than time series or whenever their values change. Each properties record is uniquely identified by entity name, property type, and optional property keys.

Messages are events collected from system logs and messaging systems. Messages are stored in ATSD to support correlation with other data types (for example to relate log events to resource bottleneck alerts). Each message is related to an entity, which has a set of tags and a free-form text message. Messages for the same entity, time, and type/source tags are automatically de-duplicated.

Data inserted into ATSD is associated with an entity, such as a service, application, user, server, sensor etc. Entity name is required for inserting all data types. New entities, metrics, and property types are automatically registered by the database.

All data types can be extended with Tags that are used primarily for aggregations and filtering.