The Vortex OpenSplice Record and Replay Manager, or RnR Manager, is a tool to control Vortex OpenSplice Record and Replay Services (RnR Services) and to inspect and change recorded data.
This section provides a brief introduction to the Vortex OpenSplice RnR Service and the RnR Manager tool.
RnR Services are the Vortex OpenSplice software modules responsible for implementing record and replay.
Features provided by the RnR Service include the ability to:
Vortex OpenSplice Record and Replay is a pluggable service of the Vortex OpenSplice Middleware and is capable of recording and/or replaying DDS datasets (i.e. topic samples) in a DDS system. As a ‘DDS service’, Record and Replay benefits from the inherent ‘decoupling in time and space’ that the DDS architecture offers, with respect to automatic discovery of the service’s dynamic interest in subscribing or publishing data as well as the transparent routing of information to and from the service.
Relevant characteristics of this service with respect to ‘intrusiveness’ for an existing system are:
Summarizing, it can be stated that when dedicating a specific computing node for Recording and Replaying and confining the control and status traffic to control the service to stay inside that node, recording the data in a multicast-enabled network is non-intrusive.
Please refer to the Vortex OpenSplice Deployment Guide (OpenSplice_Deployment.pdf) for more detailed information on how to configure Vortex OpenSplice.
The Vortex OpenSplice configuration editor (osplconf) provides facilities to create, modify and save configuration files. This tool is described in Section 3.2 in the Vortex OpenSplice Deployment Guide.
In order to use the RnR service, a new service needs to be defined in the xml configuration files. In the example below, the RnR-related entries are highlighted in red.
RnR Service Configuration in ospl.xml
The service name in the example is rnrService1. A system can have many rnr services. The service name can be any string value.
The Vortex OpenSplice Record and Replay Manager, or RnR Manager, is a tool to control Vortex OpenSplice Record and Replay Services (RnR Services) and to inspect and change recorded data.
RnR Manager uses the internal Control and Monitoring API for access to the Vortex OpenSplice Middleware. Connections to local nodes via JNI and remote nodes (via SOAP) are supported. The manager tool does not need to have Vortex OpenSplice installed locally. A connection can be made remotely to a node that is running Vortex OpenSplice.
Features provided by the RnR Manager product include:
The Vortex OpenSplice middleware RnRService is responsible for implementing record and replay functionality.
A system may be configured to have multiple RnR Service instances.
An RnR Service is identified by a name. This name (also known as rnrId) is used to address the commands to a specific RnR Service. It is defined by the ‘name’ attribute of the service tag in the Vortex OpenSplice configuration. For example:
<OpenSplice>
<Domain>
<Name>domain_name</Name>
<Id>0</Id>
<Database>
<Size>10485670</Size>
</Database>
<Service name="durability">
<Command>durability</Command>
</Service>
<Service name="cmsoap">
<Command>cmsoap</Command>
</Service>
<Service name="rnr_service_name">
<Command>rnr</Command>
</Service>
</Domain>
<RnRService name = "rnr_service_name”/>
Where "rnr_service_name" will be used to identify this service.
The middleware uses this identifier to resolve the configuration options that apply to the service. A Record and Replay service only accepts commands with an rnrId that matches its Service name. In addition, an asterisk ‘*’ can be used as rnrId for commands targeted at all available RnR Services in a domain.
The actions of a Record and Replay service are organized in ‘scenarios’. Scenarios are used to logically discriminate between different recording and replay command sequences (or sessions). A scenario is an instance of the scenario topic, a group of commands sharing the same scenarioName.
During initialization the RnR Service starts an initial scenario, called the BuiltinScenario. This is a special scenario that is always running while the service is operational. RnR Manager uses the BuiltinScenario to configure and control the RnR Service and create new scenario topic readers for each scenario ‘rr_scenarioReader_<scenarioName>’.
A Scenario may be in one of the following states:
Note that the BuiltinScenario can not be stopped.
RnR commands are sent to the Scenario’s Command topic. Supported scenario commands are: Add Record, Add Replay, Remove Record, Remove Replay, Set Replay Speed, Truncate, Start, Stop and Suspend.
Starting with Vortex OpenSplice RnR Manager V6.6.0, the tool interacts with two versions of the RnR service provided scenario command topic: rr_scenario and rr_scenario_v2. The new version of the topic contains support for Transformations (partition, QoS) of data during replay.
The tool will only publish comands to the v2 command topic. If there exist scenarios from the previous version of the topic, e.g. from a persistent DDS store, then the tool will be able to read in the scenario commands for display in the Scenario Editor but if the scenario is stopped and started again from the editor, the scenario commands will be republished in the the v2 command topic, and the old topic scenario will be disposed.
Vortex OpenSplice RnR Manager expects the rr_scenario_v2 topic to be registered by the time it needs to publish commands, e.g. when starting/stopping a scenario or creating a storage. If the v2 topic is not registered, command publication will not take place. The tool does not attempt to publish commands on the old rr_scenario topic.
The RnR Service operates in conjunction with storages, which can be configured statically in a configuration file or dynamically through interaction with the service.
RnR Manager determines the available storages by subscribing to the storage status topic. It can be used to add new storages to a service.
Storages may have the following states:
The RnR Service records and replays DDS data, or Samples. A recorded Sample is stored in XML form in the file associated with the Storage. In addition to recording the topic data (for future replay), the RnR Service records additional Sample Information such as the Partition, Topic name, and recording time (timestamp).
When a Storage is imported into RnR Manager, the Sample data and recording information can be viewed using the Storage Editor.
Time Ranges can be used to limit the selection of data in a replay session. Users can select sample data based on the recorded timestamps. A range is defined with a start and an end timestamp.