$MDAL_ENTITY) with publish/subscribe capabilities on a namespace. Create the entity and place it in a known location that you don't mind being mounted into a docker container (such as
$NAMESPACE/services) should be included in the configuration for the MDAL service
gtfierro/mdal:latest(most recent version is
gtfierro/mdal:0.0.2. You can build this container yourself by running
make containerin a cloned copy of the MDAL repository.
mdal.yamlconfiguration file is stored.
mdal grantverify and grant permission to use the MDAL service at a given URI to a BOSSWAVE entity
Composition: the order of variables and UUIDs to be included in the response matrix. Variables are defined in
Variableskey (below) and resolve to a set of UUIDs. UUIDs are the pointers used by the timeseries database and represent a single timeseries sequence. If you want to apply unit conversion to the UUIDs, you will need to have instead define the UUIDs using a variable definition below.
Selectors: for each timeseries stream, we can get the raw data, or we can get resampled min, mean and/or max (as well as bucket count). Each item in the
Compositionlist has a corresponding selector. This is a set of flags:
MEAN: selects the mean stream
MAX: selects the max stream
MIN: selects the min stream
COUNT: selects the count stream (how many readings in each resampled bucket)
RAW: selects the raw data. This cannot be resampled and is mutually exclusive with
Variables: each variable mentioned in
Compositionhas a definition here. Each variable needs the following fields:
Name: the name of the variable. Refer to the variable in
Compositionusing this name
Definition: the Brick query that will be resolved to a set of UUIDs. The returned variables need to end in
UUIDS: a list of additional UUIDs to append to this variable definition (can be used in addition or instead of the Brick query above). To perform unit conversion on data for these UUIDs, put those UUIDs here.
Units: the desired units for the stream; MDAL will perform the unit conversion if possible
Time: the temporal parameters of the data query
T0: the first half of the range (inclusive)
T1: the second half of the range (inclusive). These will be reordered appropriately by MDAL
WindowSize: window size as a Go-style duration, e.g. "5m", "1h", "3d".
Aligned: if true, then all timesetamps will be the same, else each stream (UUID) will have its own timestamps. Its best to leave this as
Params: don't touch this for now