General

Flow based data-collector and time-centric data-processor.

Faxe's inner core is based on a dataflow computing engine and it's components also called nodes can be freely combined into an acyclic graph.

Unlike other flowbased frameworks (node_red, ...) in Faxe computing graphs are built with a DSL called dfs.

Rest Api

FAXE can be managed via its rest api.

General

Data in faxe

As you can read here, in faxe we deal with data_points and data_batches as basic data types. These data-items as we call them, are emitted by nodes that are freely combined into a computing graph to achieve the desired processing.

Every data_point consists of a ts field, fields and tags. The value of the ts field is always: unix-timestamp in millisecond precision without a timezone.

fields and tags are essentially key-value maps.

Valid data-types for field and tag values are: string, integer, float, key-value map (also deeply nested) and lists. The only valid data-type for field and tag keys is string.

A data_batch consists of a list of data_points ordered by timestamp.

Most faxe nodes can deal with both points and batches.

Value referencing

As field and tag values can be deeply nested maps and lists, it is possible to use a JSON-path like syntax to declare and reference these values:

Valid examples:

averages
axis.z.cur
value.sub[2].data
averages.emitted[5]

For more information, you can read the introduction.