LogDataDisaggregator
LogDataDisaggregator
The LogDataDisaggregator is a sequencer block, that allows to receive aggregated (for example by LogDataAggregator) and Protocol Buffers encoded value samples, decode and emit them as output events, one by one.
The is a useful companion block for decoding messages composed by LogDataAggregator when CDPLogger data needs to be sent over a slow or expensive communication line, to speed up the communication and reduce the bandwidth usage.
Block receives encoded value sample series via Aggregated events (i.e. Path plus AggregatedData) that are in following Protocol Buffers encoding:
syntax = "proto3"; message AggregatedData { string valuetype = 1; repeated uint64 timestamp_deltas = 2; repeated double d_values = 3; repeated float f_values = 4; repeated uint64 ui64_values = 5; repeated sint64 i64_values = 6; repeated uint32 ui32_values = 7; repeated sint32 i32_values = 8; repeated uint32 us_values = 9; repeated sint32 s_values = 10; repeated uint32 uc_values = 11; repeated int32 c_values = 12; repeated bool b_values = 13; repeated string str_values = 14; }
Block decodes these messages and sends value samples found immediately out as Data events (i.e. Path plus value sample data like Timestamp, Value and ValueType).
Events
Name | Input/Output | Description |
---|---|---|
Aggregated | Input | Invokes decoding of aggregated value samples from AggregatedData argument, of the corresponding Path argument. This encoded data is usually first created by companion LogDataAggregator blocks. |
Data | Output | Decoded value samples are sent out via this event. The event has arguments Path, Timestamp, Value and ValueType. Can be routed to CDPLogger::LogWriter sequencer block. |
DataDone | Output | Will be emitted after all value samples received via Aggregated have been decoded and emitted via Data event |
Arguments
Name | Description |
---|---|
Path | Node path of the value samples. Must be present in the incoming Aggregated event. Will be sent out with the Data events. |
AggregatedData | Aggregated value samples for one Path encoded as Protocol Buffers message. Must be present in the incoming Aggregated event. |
Timestamp | Timestamp of the node value sample. Will be sent out with the Data event. |
Value | The value of the node. Will be sent out with the Data event. |
ValueType | The value type of the node value sample. Will be sent out with the Data event. |
Note: Note, that the encoded message (AggregatedData argument) may contain non-printable characters, therefore the Command attribute of Aggregated event has to be set to any other value than CM_TEXTCOMMAND (`20100_16`) - which will instruct the CDP to send the event data over in binary form. Also, make sure you set the Command attribute to the very same value on the event sender side.
See also LogDataAggregator.
Get started with CDP Studio today
Let us help you take your great ideas and turn them into the products your customer will love.