1. Introduction¶
1.1. Introduction¶
RTI Recording Service includes the following tools:
Recording Service, an RTI Connext DDS application that records Topics and discovery data. Recording Service records updates to data along with a timestamp, so you can view or replay updates to data in your system as they occur over time. Recorded data is stored in SQLite® files by default. Recording Service also has an API to record to a custom data store.
Replay Service, an application that can play back data recorded by Recording Service. Replay Service also has an API to allow plugging in custom storage.
Converter, an application that converts binary (serialized) recorded data to deserialized data that can be viewed and queried. The most efficient way to record data is in serialized form. Converter allows data to be recorded efficiently, then post-processed into a queryable form. Converter also provides APIs to plug in custom storage.
1.2. The Basics¶
Recording Service is used when you need to record updates to system data over a period of time, and to access that data by time. One example of when you might use the Recording Service: if you are testing your system, you can use Recording Service to record all DDS data updates that occur during a particular test run. Then you can use a database tool or Replay Service to view what happened at specific times during your test.
Recording Service’s builtin database is a SQLite file. Recording Service can store data in the SQLite database in two formats:
CDR serialized format: This is the format in which data is sent over the network, so it is the most efficient way to store data. It is binary, so it is not queryable.
JSON format: To store data this way, Recording Service must convert between the network format and the JSON format. This is queryable, but comes at a performance cost.
Recording Service also provides an API that allows you to implement your own storage backend. You will receive the data in serialized format, then use Connext DDS dynamic-data APIs to deserialize the data.
![Recording Service Overview](_images/image2.png)
Figure 1.1 Recording Service receives DDS samples over the network and records them to storage, based on their timestamps¶
Replay Service works with data recorded by Recording Service. It uses the timestamps of the recorded data to replay the data back into a DDS system at the original offsets between recorded timestamps. Replay Service also offers an API to retrieve your data from the storage of your choice to be replayed.
![Replay Service Overview](_images/image8.png)
Figure 1.2 Replay Service retrieves stored data samples from storage and replays it over DDS, maintaining the original timing of the data¶
Converter is a tool that can convert between the data formats used by Recording Service. Currently, the only builtin formats supported by Recording Service are the CDR and JSON formats described above, within a SQLite database. Converter allows you to record data in the efficient CDR format and later convert to a queryable JSON format.
![Replay Service Overview](_images/image7.png)
Figure 1.3 Converter takes serialized (binary) data and converts it to deserialized JSON data¶
1.3. Paths Mentioned in Documentation¶
This documentation refers to:
<NDDSHOME>
This refers to the installation directory for Connext DDS.The default installation paths are:
macOS® systems:
/Applications/rti_connext_dds-version
Linux® systems, non-root user:
/home/your user name/rti_connext_dds-version
Linux systems, root user:
/opt/rti_connext_dds-version
Windows® systems, user without Administrator privileges:
<your home directory>\rti_connext_dds-version
Windows systems, user with Administrator privileges:
C:\Program Files\rti_connext_dds-version
You may also see
$NDDSHOME
or%NDDSHOME%
, which refers to an environment variable set to the installation path.Whenever you see
<NDDSHOME>
used in a path, replace it with your installation path.Note for Windows Users: When using a command prompt to enter a command that includes the path
C:\Program Files
(or any directory name that has a space), enclose the path in quotation marks. For example:“C:\Program Files\rti_connext_dds-version\bin\rticlouddiscoveryservice.bat”
Or if you have defined the
NDDSHOME
environment variable:"%NDDSHOME%\bin\rticlouddiscoveryservice.bat"
<path to examples>
By default, examples are copied into your home directory the first time you run RTI Launcher or any script in<NDDSHOME>/bin
. This document refers to the location of the copied examples as<path to examples>
.Wherever you see
<path to examples>
, replace it with the appropriate path.Default path to the examples:
macOS systems:
/Users/your user name/rti_workspace/version/examples
Linux systems:
/home/your user name/rti_workspace/version/examples
Windows systems:
your Windows documents folder\rti_workspace\version\examples
. Where'your Windows documents folder'
depends on your version of Windows. For example, on Windows 10 systems, the folder isC:\Users\your user name\Documents
.