Overview
The ScaleOut Digital Twins service can capture a stream of real-time messages that are sent to digital twins during a real, production workload. This recording can be replayed later as part of a simulation session. This gives you the ability to tun your message processing and real-time analytics logic against a real, production workload. The source of these messages could be real devices, sensors, or message hubs, such as Azure IoT Hub. Users can enable/disable message recordings on a model-by-model basis.
Message recording can be activated by deploying/enabling the message recording connector. Once enabled, it will capture messages sent by data sources to your real-time digital twin instances. The duration of a recording is specified when starting the message recording connector, or a recording can be manually stopped by disabling (or removing) the message recording connector.
Recordings are identified by a string ID based on the date and time when the recording was started, using the following format: yyyy-mm-ddThh-mm-ss
(for example, 2023-08-25T17-54-48
).
Captured messages are stored on disk on each host under the root message recording folder where the path to it is specified in the appsettings.json configuration file of the message recording connector. The appsetting.json file is predeployed with the connector’s binaries at the following location: C:\ProgramData\ScaleOut Software\PreinstalledIG\Scaleout.MessageRecordingConnector (Windows) and /usr/share/scaleout/preinstalled-ig/Scaleout.MessageRecordingConnector (Linux). During the message recording process, the messages are added to the JSON files in a dedicated subfolder named by the ID of the currently active message recording session across all hosts that are part of the ScaleOut StreamServer cluster.
Users can manage message recordings via the Message Recording Management tool: message recordings with all captured messages could be persisted to a SQL-compliant database. Users can also stage persisted message recordings back for playing them out as a part of the simulation process.