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_t
of 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 |