.. include:: ../../../router.1.0/srcDoc/vars.rst .. |RCS| replace:: *Recording Service* .. |RPS| replace:: *Replay Service* .. |TGs| replace:: *TopicGroups* .. |TG| replace:: *TopicGroup* .. _section-Replay-Monitoring: ********** Monitoring ********** This section provides documentation on |RCS| remote monitoring. .. Note:: |RCS| monitoring is based on the *Monitoring Distribution Platform* described in :numref:`section-Common-Mon`. We recommend that you read :numref:`section-Common-Mon` before using |RCS| monitoring. .. _section-Replay-Monitoring-Ow: Overview ======== .. _section-Replay-Monitoring-Ow-EnablingMon: Enabling Service Monitoring --------------------------- By default, monitoring is disabled in |RCS|. To enable monitoring you can use the ```` tag (see :numref:`section-config-recording-service-tag`) or the ``-remoteMonitoringDomainId`` command-line parameter, which enables remote monitoring and sets the domain ID for data publication (see :numref:`section-recording-service-command-line-parameters`). .. _section-Replay-Monitoring-Ow-DistTopics: Monitoring Types ---------------- The available *Keyed Resource* classes and their types that can be present in the distribution monitoring topics are listed in :numref:`TableReplayKeyedResources`. The complete type relationship is shown in :numref:`FigureReplayMonitoringTypes`. .. list-table:: |RCS| *Keyed Resources* :name: TableReplayKeyedResources :widths: 25 25 25 25 :header-rows: 1 :class: longtable * - Keyed Resource Class - Config - Event - Periodic * - :ref:`Service ` - ``ServiceConfig`` - ``ServiceEvent`` - ``ServicePeriodic`` * - :ref:`Session ` - ``SessionConfig`` - ``SessionEvent`` - ``SessionPeriodic`` * - :ref:`TopicGroup ` - ``TopicGroupConfig`` - ``TopicGroupEvent`` - ``TopicGroupPeriodic`` * - :ref:`Topic ` - ``TopicConfig`` - ``TopicEvent`` - ``TopicPeriodic`` .. figure:: ../static/RecorderMonitoringTypes.svg :figwidth: 90 % :name: FigureReplayMonitoringTypes :align: center Keyed Resource Types for |RCS| monitoring All the type definitions for |RCS| monitoring information are in ``[NDDSHOME]/resource/idl/ServiceCommon.idl`` and ``[NDDSHOME]/resource/idl/RecordingServiceMonitoring.idl``. |RCS| creates a |DW| for each distribution |TOPIC|. All |DWs| are created from a single |PUB|, which is created from a dedicated |DP|. See :numref:`section-config-recording-service-tag` for details on configuring the QoS for these entities. .. _section-Replay-Monitoring-Metrics: Monitoring Metrics Reference ============================ This section provides a reference to all the monitoring metrics |RCS| distributes, organized by service resource class. .. _section-Replay-Monitoring-Metrics-Service: Service ------- .. literalinclude:: ../../resource/idl/RecordingServiceMonitoring.idl :caption: |RCS| Types :start-after: /* Service :end-before: /* --- Top-level .. list-table:: ``ServiceConfig`` :name: TableReplayServiceConfig :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityConfig`` - See :numref:`TableCommonEntityConfig`. * - application_name - Name of the |RCS| instance. The application name is provided through: - ``appName`` command-line option when run as executable. - ``ServiceProperty::application_name`` field when run as a library. * - application_guid - GUID of the |RCS| instance. Unique across all service instances. * - host - See :numref:`TableCommonHostConfig`. * - process - See :numref:`TableCommonProcessConfig`. * - builtin_sqlite - See :numref:`TableReplayBuiltinSqliteConfig` * - participants - Sequence of ``ParticipantInfo`` objects, one for each |DP| inside the |RCS|. See :numref:`TableReplayParticipantInfo`. .. list-table:: ``SqliteDatabaseConfig`` :name: TableReplayBuiltinSqliteConfig :widths: 25 75 :header-rows: 1 * - Field Name - Description * - db_directory - Path to the base directory where the database files live. * - execution_directory_expression - This value is not set when running |RPS|. See :numref:`section-config-fileset-tag` * - user_data_file_expression - This value is not set when running |RPS|. .. list-table:: ``ParticipantInfo`` :name: TableReplayParticipantInfo :widths: 25 75 :header-rows: 1 * - Field Name - Description * - name - Name of the |DP| instance, as specified in the ``name`` attribute of the corresponding configuration tag. .... .. list-table:: ``ServiceEvent`` :name: TableReplayServiceEvent :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityEvent`` - See :numref:`TableCommonEntityEvent`. * - builtin_sqlite - See :numref:`TableReplayBuiltinSqliteEvent` .. list-table:: ``SqliteDatabaseEvent`` :name: TableReplayBuiltinSqliteEvent :widths: 25 75 :header-rows: 1 * - Field Name - Description * - current_db_directory - Path to the current directory where files are being replayed from. * - current_file - This value is not set when running |RPS|. * - rollover_count - This value is not set when running |RPS|. .... .. list-table:: ``ServicePeriodic`` :name: TableReplayServicePeriodic :widths: 25 75 :header-rows: 1 * - Field Name - Description * - host - See :numref:`TableCommonHostPeriodic`. * - process - See :numref:`TableCommonProcessPeriodic`. * - builtin_sqlite - See :numref:`TableReplayBuiltinSqlitePeriodic` .. list-table:: ``SqliteDatabasePeriodic`` :name: TableReplayBuiltinSqlitePeriodic :widths: 25 75 :header-rows: 1 * - Field Name - Description * - current_file_size - This value is not set when running |RPS|. * - current_timestamp_sec - The seconds part of the timestamp at which data is being replayed, relative to recorded time. |br| * - current_timestamp_nanosec - The nanoseconds part of the timestamp at which data is being replayed, relative to recorded time. .. _section-Replay-Monitoring-Metrics-Session: Session ------- .. literalinclude:: ../../resource/idl/RecordingServiceMonitoring.idl :caption: |SESSION| Types :start-after: /* Session :end-before: /* Service .. list-table:: ``SessionConfig`` :name: TableReplaySessionConfig :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityConfig`` - See :numref:`TableCommonEntityConfig`. * - default_participant_name - The name of the default participant configuration. .... .. list-table:: ``SessionEvent`` :name: TableReplaySessionEvent :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityEvent`` - See :numref:`TableCommonEntityEvent`. .... .. list-table:: ``SessionPeriodic`` :name: TableReplaySessionPeriodic :widths: 25 75 :header-rows: 1 * - Field Name - Description * - network_performance - Provides network performance metric as an aggregation of the same metric across the contained |TOPICs| and |TGs|. |br| See :numref:`section-Common-Mon-Metrics-NetworkPerformance`. .. _section-Replay-Monitoring-Metrics-TopicGroup: TopicGroup ---------- .. literalinclude:: ../../resource/idl/RecordingServiceMonitoring.idl :caption: |TG| Types :start-after: /* TopicGroup :end-before: /* Session .. list-table:: ``TopicGroupConfig`` :name: TableReplayTopicGroupConfig :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityConfig`` - See :numref:`TableCommonEntityConfig`. * - participant_name - Name of the |DP| from which the |TOPIC| is created. .... .. list-table:: ``TopicGroupEvent`` :name: TableReplayTopicGroupEvent :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityEvent`` - See :numref:`TableCommonEntityEvent`. .... .. list-table:: ``TopicGroupPeriodic`` :name: TableReplayTopicGroupPeriodic :widths: 25 75 :header-rows: 1 * - Field Name - Description * - network_performance - Provides network performance metric as an aggregation of the same metric across the contained |TOPICs|. |br| See :numref:`section-Common-Mon-Metrics-NetworkPerformance`. * - topic_count - Current number of |TOPICs| created from this |TG|. .. _section-Replay-Monitoring-Metrics-Topic: Topic ----- .. literalinclude:: ../../resource/idl/RecordingServiceMonitoring.idl :caption: |TOPIC| Types :start-after: /* Topic :end-before: /* TopicGroup .. list-table:: ``TopicConfig`` :name: TableReplayTopicConfig :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityConfig`` - See :numref:`TableCommonEntityConfig`. * - topic_name - Topic name as specified in the configuration. |br| * - registered_type_name - Topic registered type name as specified in the configuration. * - paritcipant_name - Name of the |DP| from which the |TOPIC| is created. * - topic_group - GUID of the |TG| from which this |TOPIC| was created. This field is set to zero for standalone |TOPICs|. .... .. list-table:: ``TopicEvent`` :name: TableReplayTopicEvent :widths: 25 75 :header-rows: 1 * - Field Name - Description * - Inherited fields from ``EntityEvent`` - See :numref:`TableCommonEntityEvent`. .... .. list-table:: ``TopicPeriodic`` :name: TableReplayTopicPeriodic :widths: 25 75 :header-rows: 1 * - Field Name - Description * - network_performance - Provides network performance metric as an aggregation of the same metric across the contained |TOPICs|. |br| See :numref:`section-Common-Mon-Metrics-NetworkPerformance`. * - matched_status - Provides information about the matched endpoints associated with this |TOPIC|.