diff --git a/ddsrouter_core/include/ddsrouter_core/configuration/SpecsConfiguration.hpp b/ddsrouter_core/include/ddsrouter_core/configuration/SpecsConfiguration.hpp index b9b34c8b2..7839188cf 100644 --- a/ddsrouter_core/include/ddsrouter_core/configuration/SpecsConfiguration.hpp +++ b/ddsrouter_core/include/ddsrouter_core/configuration/SpecsConfiguration.hpp @@ -76,8 +76,8 @@ struct SpecsConfiguration : public ddspipe::core::IConfiguration //! Configuration of the DDS Pipe's Log consumers. ddspipe::core::DdsPipeLogConfiguration log_configuration; - //! TODO - ddspipe::core::MonitorConfiguration monitor{}; + //! Configuration of the DDS Pipe's Monitor. + ddspipe::core::MonitorConfiguration monitor_configuration{}; }; } /* namespace core */ diff --git a/ddsrouter_test/compose/CMakeLists.txt b/ddsrouter_test/compose/CMakeLists.txt index 539ec7a9a..a88e120e2 100644 --- a/ddsrouter_test/compose/CMakeLists.txt +++ b/ddsrouter_test/compose/CMakeLists.txt @@ -68,8 +68,6 @@ set(TESTS discovery_trigger/none discovery_trigger/any/reader discovery_trigger/any/writer - - monitoring ) file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/test_cases DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) diff --git a/ddsrouter_test/compose/test_cases/monitoring/compose.yml b/ddsrouter_test/compose/test_cases/monitoring/compose.yml deleted file mode 100644 index f91eddcec..000000000 --- a/ddsrouter_test/compose/test_cases/monitoring/compose.yml +++ /dev/null @@ -1,51 +0,0 @@ -# Test description: -# TODO -# -# Test architecture: -# -# TODO - -services: - - # ROUTER - ddsrouter: - image: ${DDSROUTER_COMPOSE_TEST_DOCKER_IMAGE} - container_name: ddsrouter - networks: - - std_net - volumes: - - ./ddsrouter.yaml:/config.yaml - command: ddsrouter -c /config.yaml --timeout 12 - - # DOMAIN 0 - publisher_0: - image: ${DDSROUTER_COMPOSE_TEST_DOCKER_IMAGE} - container_name: publisher_0 - networks: - - std_net - command: install/AdvancedConfigurationExample/examples/cpp/dds/AdvancedConfigurationExample/AdvancedConfigurationExample publisher --interval 100 --samples 80 --domain 80 - - # DOMAIN 1 - subscriber_1: - image: ${DDSROUTER_COMPOSE_TEST_DOCKER_IMAGE} - container_name: subscriber_1 - networks: - - std_net - volumes: - - ../../scripts:/scripts - command: python3 /scripts/execute_and_validate_subscriber.py --exe install/AdvancedConfigurationExample/examples/cpp/dds/AdvancedConfigurationExample/AdvancedConfigurationExample --timeout 10 --args "--samples 80 --domain 81" - - # DOMAIN 2 - subscriber_2: - image: ${DDSROUTER_COMPOSE_TEST_DOCKER_IMAGE} - container_name: subscriber_2 - networks: - - std_net - volumes: - - ../../scripts:/scripts - command: python3 /scripts/execute_and_validate_subscriber.py --exe install/AdvancedConfigurationExample/examples/cpp/dds/AdvancedConfigurationExample/AdvancedConfigurationExample --timeout 10 --args "--samples 8 --domain 82 --topic DdsRouterTopicData" - -networks: - std_net: - default: - driver: none diff --git a/ddsrouter_test/compose/test_cases/monitoring/ddsrouter.yaml b/ddsrouter_test/compose/test_cases/monitoring/ddsrouter.yaml deleted file mode 100644 index 3b1a70397..000000000 --- a/ddsrouter_test/compose/test_cases/monitoring/ddsrouter.yaml +++ /dev/null @@ -1,18 +0,0 @@ -version: v4.0 - -participants: - - name: Local_80 - kind: local - domain: 80 - - - name: Local_81 - kind: local - domain: 81 - -specs: - monitor: - topics: - enable: true - domain: 82 - period: 1000 - topic-name: "DdsRouterTopicData" diff --git a/ddsrouter_yaml/src/cpp/YamlReader_configuration.cpp b/ddsrouter_yaml/src/cpp/YamlReader_configuration.cpp index 0198b769d..dd83e4856 100644 --- a/ddsrouter_yaml/src/cpp/YamlReader_configuration.cpp +++ b/ddsrouter_yaml/src/cpp/YamlReader_configuration.cpp @@ -91,7 +91,7 @@ void YamlReader::fill( // Get optional monitor tag if (YamlReader::is_tag_present(yml, MONITOR_TAG)) { - object.monitor = YamlReader::get(yml, MONITOR_TAG, version); + object.monitor_configuration = YamlReader::get(yml, MONITOR_TAG, version); } } diff --git a/docs/rst/notes/forthcoming_version.rst b/docs/rst/notes/forthcoming_version.rst index 64fdd5761..0d0a40550 100644 --- a/docs/rst/notes/forthcoming_version.rst +++ b/docs/rst/notes/forthcoming_version.rst @@ -6,6 +6,11 @@ Forthcoming Version ################### -This release will include the following **Configuration features**: +The next release will include the following **Features**: + +* Publish the :ref:`Logs `. +* :ref:`Monitor `. + +The next release will include the following **Configuration features**: * New configuration option ``logging`` to configure the :ref:`Logs `. diff --git a/docs/rst/user_manual/configuration.rst b/docs/rst/user_manual/configuration.rst index b0c742ca9..df8dfa140 100644 --- a/docs/rst/user_manual/configuration.rst +++ b/docs/rst/user_manual/configuration.rst @@ -499,7 +499,7 @@ Monitor ------- ``specs`` supports a ``monitor`` **optional** tag to publish internal data from the |ddsrouter|. -The monitor can be configured to publish this data on a ``domain``, under a ``topic-name``, once every ``period`` (in milliseconds). +The monitor publishes (and logs) the *DDS Router's* internal data on a ``domain``, under a ``topic-name``, once every ``period`` (in milliseconds). If the monitor is not enabled, the |ddsrouter| will not collect or publish any data. .. note:: @@ -545,8 +545,8 @@ The type of the data published is defined as follows: monitor: topics: enable: true - domain: 10 period: 1000 + domain: 10 topic-name: "DdsRouterTopicData" Participant Configuration @@ -1007,8 +1007,8 @@ A complete example of all the configurations described on this page can be found monitor: topics: enable: true - domain: 10 period: 1000 + domain: 10 topic-name: "DdsRouterTopicStatistics" # XML configurations to load diff --git a/tools/ddsrouter_tool/src/cpp/main.cpp b/tools/ddsrouter_tool/src/cpp/main.cpp index 27ec0e0a7..fd3834203 100644 --- a/tools/ddsrouter_tool/src/cpp/main.cpp +++ b/tools/ddsrouter_tool/src/cpp/main.cpp @@ -30,6 +30,7 @@ #include #include +#include #include #include @@ -232,10 +233,11 @@ int main( commandline_args.reload_time); } - // Monitoring - ddspipe::core::Monitor monitor{router_configuration.advanced_options.monitor}; + // Monitor + auto monitor_configuration = router_configuration.advanced_options.monitor_configuration; + ddspipe::core::Monitor monitor{monitor_configuration}; - if (router_configuration.advanced_options.monitor.producers["topics"].enabled) + if (monitor_configuration.producers[ddspipe::core::TOPICS_MONITOR_PRODUCER_ID].enabled) { monitor.monitor_topics(); }