13.2.2. Monitor Service Topics¶
The following table depicts the properties of the topics within the Monitor Service:
Topic name |
Topic Alias |
TopicDataType |
|
MONITOR_SERVICE_TOPIC |
13.2.2.1. Monitor Service Status Topic¶
The Monitor Service Status Topic carries information about the
monitoring information of the local entities of a
particular DomainParticipant.
The monitoring information can be divided into different statuses
identified by a StatusKind.
The possible values are described in the following table:
Value |
Name |
Description |
0 |
|
Collection of Parameters describing the
|
1 |
|
List of connections that this entity is using with its matched remote entities. |
2 |
|
Status of the Incompatible QoS of that entity. |
3 |
|
Status of Inconsistent topics that the topic of that entity has. |
4 |
|
Tracks the status of the number of times a writer lost liveliness. |
5 |
|
Tracks the status of the number of times the liveliness changed in a reader. |
6 |
|
The Status of the number of deadlines missed of a sample for that entity. |
7 |
|
Tracks the status of the number of times this entity lost samples. |
Note
If the service is enabled in a RTPS layer context, not all
the statuses will be published,
only the ProxyInfo and ConnectionList.
The Monitor Service Status Topic publishes new data when new updates are received from any
of the DomainParticipant’s local entities (on-event driven) with a minimum waiting time between
publications.
In addition, it is in charge of notifying about any disposal or liveliness lost.
13.2.2.1.1. Monitor Service Status Data¶
The MonitorServiceStatusData data structure comprises the following fields:
local_entity:
Guid_tof the local entity.status_kind: StatusKind enumeration identifying the status.
value: The value of the status.
MonitorServiceStatusData
@Key GUID local_entity
@Key StatusKind status_kind
Data value
Note
The local_entity and status_kind are keyed fields, hence making use of instances (see Topics, keys and instances). In this case, the pair <local_entity, status_kind> identifies a unique instance.
Each of the StatusKind enumeration values maps to a corresponding Data value.
The actual field names for the different values are described below:
entity_proxy: Collection of the serialized Quality of Service Parameters in the form of a
ParameterList.connection_list: Defines how is this entity communicating with its matched entities. Each of the elements is of Connection type (depicted below).
Connection
uint32_t mode //INTRAPROCESS, DATASHARING, TRANSPORT
LocatorList announced_locators
LocatorList used_locators
incompatible_qos_status: Status of the Incompatible QoS of that entity.
DataWriter Incompatible QoS Offered.
DataReader Incompatible QoS Requested.
inconsistent_topic_status: Status of Inconsistent topics of the topic of that entity. Asked to the topic of the requested entity.
liveliness_lost_status: Tracks the status of the number of times that liveliness was lost by a DataWriter.
liveliness_changed_status: Tracks the status of the number of times that liveliness was lost by a DataReader.
deadline_status: The Status of the number of deadlines missed that were registered in that entity.
sample_lost_status: The number of samples that entity lost.
The following table depicts the relation between each of the StatusKind values and the Data field:
StatusKind Value |
StatusKind Name |
Data field Name |
IDL Data field Type |
0 |
|
entity_proxy |
sequence<octet> |
1 |
|
connection_list |
sequence<Connection> |
2 |
|
incompatible_qos_status |
IncompatibleQoSStatus |
3 |
|
inconsistent_topic_status |
InconsistentTopicStatus |
4 |
|
liveliness_lost_status |
LivelinessLostStatus |
5 |
|
liveliness_changed_status |
LivelinessChangedStatus |
6 |
|
deadline_missed_status |
DeadlineMissedStatus |
7 |
|
sample_lost_status |
SampleLostStatus |