-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Monitor Service Documentation (#506)
* Refs #18066: Monitor Service Documentation Signed-off-by: Mario Dominguez <[email protected]> * Refs #18066: Spelling checks Signed-off-by: Mario Dominguez <[email protected]> * Refs #18066: Added use-case scenario Signed-off-by: Mario Dominguez <[email protected]> * Refs #18066: Spelling Signed-off-by: Mario Dominguez <[email protected]> * Refs #18066: Updated according to last Design Update Signed-off-by: Mario Dominguez <[email protected]> * Refs #18066: Updated Docs to fit the Monitor Service Status Topic Design Update Signed-off-by: Mario Dominguez <[email protected]> * Refs #18066: Spelling Signed-off-by: Mario Dominguez <[email protected]> * Refs #17294: Reviewer suggestions Signed-off-by: Mario Dominguez <[email protected]> * Refs #17294: Syntax Signed-off-by: Mario Dominguez <[email protected]> * Refs #17294: Reviewer Suggestion Signed-off-by: Mario Dominguez <[email protected]> * Refs #19071: Move the Monitor Service into the Statistics Module Signed-off-by: Mario Dominguez <[email protected]> * Refs #19071: Linter Signed-off-by: Mario Dominguez <[email protected]> * Refs #19071: Correct monitor service c++ api example snippet Signed-off-by: Mario Dominguez <[email protected]> * Refs #19071: Fixes for passing doc tests Signed-off-by: Mario Dominguez <[email protected]> * Refs #18066: Rev suggestions Signed-off-by: Mario Dominguez <[email protected]> * Refs #18066: Second rev suggestions Signed-off-by: Mario Dominguez <[email protected]> * Refs #18066: nit Signed-off-by: Mario Dominguez <[email protected]> --------- Signed-off-by: Mario Dominguez <[email protected]>
- Loading branch information
Showing
14 changed files
with
393 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 changes: 10 additions & 0 deletions
10
docs/fastdds/api_reference/dds_pim/core/status/ddsentitystatus.rst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
.. _api_pim_ddsentitystatus: | ||
|
||
.. rst-class:: api-ref | ||
|
||
DDSEntityStatus | ||
--------------- | ||
|
||
.. doxygenstruct:: eprosima::fastdds::statistics::rtps::DDSEntityStatus | ||
:project: FastDDS | ||
:members: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
.. include:: ../../../03-exports/aliases.include | ||
.. include:: ../../../03-exports/aliases-api.include | ||
|
||
Introduction | ||
============ | ||
|
||
The ``Monitor Service`` targets any application implementing the subscription side of | ||
the :ref:`Monitor Service Status Topic <monitor_service_topics>`, | ||
giving the possibility of retrieving the :ref:`Monitoring Information <monitor_service_keywords>` | ||
of the local entities (incompatible QoS, deadlines missed, | ||
active connections,...). | ||
|
||
.. _monitor_service_keywords: | ||
|
||
Keywords | ||
^^^^^^^^ | ||
|
||
* **Proxy**: An entity that acts on behalf of another entity. | ||
|
||
* **Proxy Data**: The way in which a Proxy can be described. | ||
|
||
* **Monitoring Information**: The collection of different sources of information and statuses of an entity, | ||
including: the Proxy Data, incompatible QoS, connections, liveliness, deadlines missed, inconsistent | ||
topics and lost sample status. | ||
|
||
Description | ||
^^^^^^^^^^^ | ||
|
||
Enabling the service makes each |DomainParticipant| publish its local entities, each one with its related | ||
``Monitoring Information``. | ||
|
||
The :ref:`monitor_service` is disabled by default, as it may entail a performance cost. | ||
Further information on the :ref:`monitor_service` topics and how to configure it is described | ||
in the following sections. | ||
|
||
The :ref:`monitor_service` is available in both the :ref:`DDS Layer <dds_layer>` and :ref:`RTPS Layer <rtps_layer>`. | ||
|
||
|
||
.. _monitor_service_in_rtps_note: | ||
|
||
.. note:: | ||
|
||
If the service is activated within a :ref:`RTPS <rtps_layer>` context, not all the ``Monitoring Information`` | ||
may be published by the service. | ||
|
||
Use Cases | ||
^^^^^^^^^ | ||
|
||
The :ref:`monitor_service` can be particularly useful in the following scenarios: | ||
|
||
* Collecting the ``Monitoring Information`` of any local entity of a remote |DomainParticipant| | ||
in order to extend the default discovery information (see :ref:`discovery`) about it. | ||
* Troubleshooting issues regarding discovery or entity-matching, leveraging the information | ||
of the current locators in use, for example. | ||
* Recreating an entity graph of a certain domain given that all participants are able to discover each other. |
19 changes: 19 additions & 0 deletions
19
docs/fastdds/statistics/monitor_service/monitor_service.rst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
.. include:: ../../../03-exports/aliases.include | ||
.. include:: ../../../03-exports/aliases-api.include | ||
|
||
.. _monitor_service: | ||
|
||
Monitor Service | ||
=============== | ||
|
||
The *Fast DDS* Monitor Service is a feature of Fast DDS that | ||
grants the user the ability to collect data about the entities existing within | ||
a particular |domain| (i.e |DomainParticipants|, |DataReaders|, |DataWriters|) | ||
as well as the capability of detecting possible misconfigurations among them. | ||
|
||
.. toctree:: | ||
:maxdepth: 2 | ||
|
||
intro | ||
monitor_service_topics | ||
monitor_service_configuration |
72 changes: 72 additions & 0 deletions
72
docs/fastdds/statistics/monitor_service/monitor_service_configuration.rst
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
.. include:: ../../../03-exports/aliases.include | ||
.. include:: ../../../03-exports/aliases-api.include | ||
|
||
.. _monitor_service_configuration: | ||
|
||
Monitor Service Configuration | ||
============================= | ||
|
||
The :ref:`monitor_service` can be activated using the ``-DFASTDDS_STATISTICS=ON`` at CMake configuration step | ||
(for further information regarding the *Fast DDS* compilation, see :ref:`linux_sources` and :ref:`windows_sources`). | ||
Once the :ref:`monitor_service` feature is activated, it can be programmatically enabled in both :ref:`dds_layer` and | ||
:ref:`rtps_layer` through the |DomainParticipant::enable-monitor-service-api| and | ||
|DomainParticipant::disable-monitor-service-api| calls. | ||
In addition, leveraging the |PropertyPolicyQos-api| there is new ``Property`` defined | ||
for the purpose: ``fastdds.enable_monitor_service``. | ||
|
||
The following table depicts the different ways in which the *Monitor Service* can be enabled or disabled: | ||
|
||
.. tabs:: | ||
|
||
.. tab:: C++ API | ||
|
||
.. literalinclude:: /../code/DDSCodeTester.cpp | ||
:language: c++ | ||
:dedent: 8 | ||
:start-after: // FASTDDS_MONITOR_SERVICE_API | ||
:end-before: //! | ||
|
||
.. tab:: C++ Property | ||
|
||
.. literalinclude:: /../code/DDSCodeTester.cpp | ||
:language: c++ | ||
:dedent: 8 | ||
:start-after: // FASTDDS_MONITOR_SERVICE_PROPERTY | ||
:end-before: //! | ||
|
||
.. tab:: XML | ||
|
||
.. literalinclude:: /../code/XMLTester.xml | ||
:language: xml | ||
:start-after: <!-->DDS_MONITOR_SERVICE<--> | ||
:end-before: <!--><--> | ||
:lines: 2-3,5-22 | ||
:append: </profiles> | ||
|
||
.. tab:: Env. Variable Linux | ||
|
||
.. code-block:: bash | ||
export FASTDDS_STATISTICS="MONITOR_SERVICE_TOPIC" | ||
.. tab:: Env. Variable Windows | ||
|
||
.. code-block:: bash | ||
set FASTDDS_STATISTICS=MONITOR_SERVICE_TOPIC | ||
Endpoints QoS | ||
^^^^^^^^^^^^^ | ||
|
||
For any consumer application of the :ref:`monitor_service`, the following endpoint QoS | ||
of the :ref:`monitor_service_status_topic` DataWriter should be taken into consideration: | ||
|
||
+-------------------------+-------------------------------+------------------------------------+ | ||
| **Endpoint** | **QoS** | **Value** | | ||
+-------------------------+-------------------------------+------------------------------------+ | ||
| MONITOR_STATUS_WRITER | |ReliabilityQosPolicyKind-api|||RELIABLE_RELIABILITY_QOS-api| | | ||
| +-------------------------------+------------------------------------+ | ||
| | |HistoryQosPolicyKind-api| ||KEEP_LAST_HISTORY_QOS-api| 1 | | ||
| +-------------------------------+------------------------------------+ | ||
| | |DurabilityQosPolicyKind-api| ||TRANSIENT_LOCAL_DURABILITY_QOS-api|| | ||
+-------------------------+-------------------------------+------------------------------------+ |
Oops, something went wrong.