|
| 1 | +.. include:: ../../../03-exports/aliases.include |
| 2 | +.. include:: ../../../03-exports/aliases-api.include |
| 3 | +.. include:: ../../../03-exports/roles.include |
| 4 | + |
| 5 | +.. _dds_record_and_replay: |
| 6 | + |
| 7 | +How to use eProsima DDS Record and Replay |
| 8 | +========================================= |
| 9 | + |
| 10 | +`eProsima DDS Record and Replay <https://github.com/eProsima/DDS-Record-Replay>`_ is an end-user software application |
| 11 | +that efficiently saves DDS data published into a DDS environment in a MCAP format database. |
| 12 | +Thus, the exact playback of the recorded network events is possible as the data is linked to the |
| 13 | +timestamp at which the original data was published. This facilitates the debugging of DDS networks. |
| 14 | + |
| 15 | +Getting started |
| 16 | +--------------- |
| 17 | + |
| 18 | +eProsima DDS Record & Replay includes the following tools: |
| 19 | + |
| 20 | +- **DDS Recorder tool**: This tool's primary function is to store data in an MCAP database, |
| 21 | + including the publication timestamp, serialized data, and its format. |
| 22 | + The output MCAP file can be read by any compatible tool, |
| 23 | + as it contains all necessary information for data reproduction. |
| 24 | + |
| 25 | +- **DDS Remote Controller tool**: This application enables remote control of the recording tool, |
| 26 | + allowing a user to start, stop, or pause data recording from another device. |
| 27 | + |
| 28 | +- **DDS Replay tool**: This application allows replay of DDS traffic recorded with a DDS Recorder. |
| 29 | + Users can select messages to replay by setting a time range or by blocking/whitelisting specific topics. |
| 30 | + They can also adjust the playback rate and use different topic QoS settings from the original recording. |
| 31 | + |
| 32 | +Prerequisites |
| 33 | +^^^^^^^^^^^^^ |
| 34 | + |
| 35 | +`eProsima DDS Record and Replay <https://github.com/eProsima/DDS-Record-Replay>`_ depends on |
| 36 | +eProsima Fast DDS library and certain Debian packages. |
| 37 | +For further information, please refer to the |
| 38 | +`installation guide <https://dds-recorder.readthedocs.io/en/latest/rst/installation/docker.html#docker>`_. |
| 39 | + |
| 40 | +Furthermore, the example provided in this section requires |
| 41 | +`ShapesDemo <https://eprosima-shapes-demo.readthedocs.io/en/latest/index.html>`_ |
| 42 | +to publish and subscribe shapes of different colors and sizes. |
| 43 | + |
| 44 | +Example of usage: Recording Application |
| 45 | +--------------------------------------- |
| 46 | + |
| 47 | +This example will serve as a hands-on tutorial, aimed at introducing some of the key concepts and |
| 48 | +features that eProsima DDS Record & Replay recording application offers. |
| 49 | + |
| 50 | +Start ShapesDemo |
| 51 | +^^^^^^^^^^^^^^^^ |
| 52 | + |
| 53 | +Let us launch a ShapesDemo instance and start publishing in topics ``Square`` with default settings. |
| 54 | + |
| 55 | +.. figure:: /01-figures/fast_dds/recorder_shapesdemo_publisher.png |
| 56 | + :align: center |
| 57 | + :scale: 75 % |
| 58 | + |
| 59 | +Recorder configuration |
| 60 | +^^^^^^^^^^^^^^^^^^^^^^ |
| 61 | + |
| 62 | +``ddsrecorder`` runs with default configuration settings. |
| 63 | +This default configuration records all messages of all DDS Topics found in |
| 64 | +DDS Domain ``0`` in the ``output_YYYY-MM-DD-DD_hh-mm-ss.mcap`` file. |
| 65 | + |
| 66 | +Additionally, it is possible to change the default configuration parameters by means of a YAML configuration file. |
| 67 | + |
| 68 | +.. note:: |
| 69 | + Please refer to `Configuration <https://dds-recorder.readthedocs.io/en/latest/rst/recording/usage/configuration.html#recorder-usage-configuration>`_ |
| 70 | + for more information on how to configure a ``ddsrecorder``. |
| 71 | + |
| 72 | +Recorder execution |
| 73 | +^^^^^^^^^^^^^^^^^^ |
| 74 | + |
| 75 | +To start recording, execute the following command: |
| 76 | + |
| 77 | +.. code-block:: bash |
| 78 | +
|
| 79 | + ddsrecorder |
| 80 | +
|
| 81 | +In order to know all the possible arguments supported by this tool, use the command: |
| 82 | + |
| 83 | +.. code-block:: bash |
| 84 | +
|
| 85 | + ddsrecorder --help |
| 86 | +
|
| 87 | +
|
| 88 | +Let us launch a ShapesDemo instance and start publishing in topics ``Square`` with default settings. |
| 89 | + |
| 90 | +.. figure:: /01-figures/fast_dds/recorder_shapesdemo_exec.png |
| 91 | + |
| 92 | +Stop the recorder with ``Ctrl+C`` and check that the MCAP file exists. |
| 93 | + |
| 94 | +Next Steps |
| 95 | +========== |
| 96 | + |
| 97 | +The usage of the DDS Remote Controller and DDS Replay tools follows |
| 98 | +the same steps as the DDS Recorder tool. |
| 99 | + |
| 100 | +For further information, please refer to the |
| 101 | +`eProsima DDS Record and Replay documentation |
| 102 | +<https://dds-recorder.readthedocs.io/en/latest/index.html>`_. |
0 commit comments