Datastream Management¶
A Datastream is the basic building block for pattern recognition used in Falkonry. A Datastream is associated with a set of Signals (that it consumes as input), a set of Entities, and a set of Assessments that convey the output of the Datastream.
A Datastream can consume a History Window of signal data and Events that lie within the window to facilitate the learning of Models.
At any time one model can be designated as Active. If the Datastream is turned on with an active model, signal data streamed into the Datastreams will produce a live output stream of assessment results.
Creating a Datastream¶
A Datastream can be created using Datastream UI via file upload. The file needs to has a pre-defined structure. The same option can be used to create or update an existing Datastream.
Required File Format¶
The file needs to be CSV formatted with fixed header information as described below:
Column Name | Use |
---|---|
source_name | Name of the approved signal that exists in Falkonry. Export the signals list from UI to get this. This is a required column. |
datastream_name | Name of the datastream in Falkonry. This is a required column. |
entity_name | Name of the entity in Falkonry. This is a required column. |
signal_name | Name of the signal in context of the Datastream. This is a short name of the signal that exists in Falkonry and it must be the same for all entities within a Datastream. This is a required column. |
signal_description | Description to attach with the signal in context of the Datastream. This is an optional column. |
[signalProperty] | Property to attach to the signal within the Datastream along with the properties already set on the approved signal. Example: sendOnChange, minThreshold, maxThreshold, etc. These are optional columns. |
Note
Multiple Datastreams can be created or updated via a single CSV file. A dry run can also be performed to validate the file by selecting Dry run option on the UI when uploading the file.
Example¶
source_name,datastream_name,entity_name,signal_name,signal_description,sendOnChange,minThreshold
machine1/current,Machine monitoring,machine1,current,output current reading,true,10
machine1/temperature,Machine monitoring,machine1,temperature,outer casing temperature,true,32
machine2/current,Machine monitoring,machine1,current,output current reading,true,10
machine2/temperature,Machine monitoring,machine1,temperature,outer casing temperature,true,30
machine1/vibration,Quality Assessment,machine1,vibration,outer casing vibration,false,8
The above example will result in two Datastreams. Machine monitoring and Quality Assessment becomes the Datastream names with the configured entity and signals. Machine monitoring Datastream will have two entities (machine1 and machine2) and two signals (current and temperature) whereas Quality Assessment Datastream will have one entity (machine1) and one signal (vibration).