6. Monitoring¶
This section provides documentation on Routing Service remote monitoring.
Note
Routing Service monitoring is based on the Monitoring Distribution Platform described in Monitoring Distribution Platform. We recommend that you read Monitoring Distribution Platform before using Routing Service monitoring.
6.1. Overview¶
6.1.1. Enabling Service Monitoring¶
By default, monitoring is disabled in Routing Service. To enable monitoring you can use
the <monitoring>
tag (see Routing Service Tag) or the
-remoteMonitoringDomainId
command-line parameter, which enables
remote monitoring and sets the domain ID for data publication
(see Command-Line Executable).
6.1.2. Monitoring Types¶
The available Keyed Resource classes and their types that can be present in the distribution monitoring topics are listed in Table 6.1. The complete type relationship is shown in Figure 6.1.
Keyed Resource Class |
Config |
Event |
Periodic |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
![_images/RouterMonitoringTypes.png](_images/RouterMonitoringTypes.png)
Figure 6.1 Keyed Resource Types for Routing Service monitoring¶
All the type definitions for Routing Service monitoring information are in
[NDDSHOME]/resource/idl/ServiceCommon.idl
and
[NDDSHOME]/resource/idl/RoutingServiceMonitoring.idl
.
Routing Service creates a DataWriter for each distribution Topic. All DataWriters are created from a single Publisher, which is created from a dedicated DomainParticipant. See Routing Service Tag for details on configuring the QoS for these entities.
6.2. Monitoring Metrics Reference¶
This section provides a reference to all the monitoring metrics Routing Service distributes, organized by service resource class.
6.2.1. Service¶
@mutable @nested
struct ServiceConfig : Service::Monitoring::EntityConfig {
BoundedString application_name;
Service::Monitoring::ResourceGuid application_guid;
@optional Service::Monitoring::HostConfig host;
@optional Service::Monitoring::ProcessConfig process;
};
@mutable @nested
struct ServiceEvent : Service::Monitoring::EntityEvent {
};
@mutable @nested
struct ServicePeriodic {
@optional Service::Monitoring::HostPeriodic host;
@optional Service::Monitoring::ProcessPeriodic process;
};
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.14. |
application_name |
Name of the Routing Service instance. The application name is provided through:
|
application_guid |
GUID of the Routing Service instance. Unique across all service instances. |
host |
See Table 12.10. |
process |
See Table 12.12. |
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.15. |
Field Name |
Description |
---|---|
host |
See Table 12.11. |
process |
See Table 12.13. |
6.2.2. DomainRoute¶
@mutable @nested
struct ConnectionConfigInfo {
BoundedString name;
AdapterClassKind class;
BoundedString plugin_name;
XmlString configuration;
};
@mutable @nested
struct ConnectionEventInfo {
BoundedString name;
@optional Service::BuiltinTopicKey participant_key;
};
@mutable @nested
struct DomainRouteConfig : Service::Monitoring::EntityConfig {
@optional sequence<ConnectionConfigInfo> connections;
};
@mutable @nested
struct DomainRouteEvent : Service::Monitoring::EntityEvent {
@optional sequence<ConnectionEventInfo> connections;
};
@mutable @nested
struct DomainRoutePeriodic {
@optional Service::Monitoring::StatisticVariable in_samples_per_sec;
@optional Service::Monitoring::StatisticVariable in_bytes_per_sec;
@optional Service::Monitoring::StatisticVariable out_samples_per_sec;
@optional Service::Monitoring::StatisticVariable out_bytes_per_sec;
@optional Service::Monitoring::StatisticVariable latency_millisec;
};
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.14. |
connections |
Sequence of |
Field Name |
Description |
---|---|
name |
Name of the Connection instance, as specified in the |
class |
Indicates the adapter class as
|
plugin_name |
Name of the adapter plugin as specified in the |
configuration |
String representation of the XML configuration of the object. |
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.15. |
Field Name |
Description |
---|---|
in_samples_per_sec |
Statistic variable that provides information about the input samples per second as an aggregation of the same metric across the contained Sessions. |
in_bytes_per_sec |
Statistic variable that provides information about the input bytes per second as an aggregation of the same metric across the contained Sessions. |
output_samples_per_sec |
Statistic variable that provides information about the output samples per second as an aggregation of the same metric across the contained Sessions. |
output_bytes_per_sec |
Statistic variable that provides information about the output bytes per second as an aggregation of the same metric across the contained Sessions. |
latency_millisec |
Statistic variable that provides information about the latency in milliseconds as an aggregation of the same metric across the contained Sessions. |
6.2.3. Session¶
@mutable @nested
struct SessionConfig : Service::Monitoring::EntityConfig {
};
@mutable @nested
struct SessionEvent : Service::Monitoring::EntityEvent {
};
@mutable @nested
struct SessionPeriodic {
@optional Service::Monitoring::StatisticVariable in_samples_per_sec;
@optional Service::Monitoring::StatisticVariable in_bytes_per_sec;
@optional Service::Monitoring::StatisticVariable out_samples_per_sec;
@optional Service::Monitoring::StatisticVariable out_bytes_per_sec;
@optional Service::Monitoring::StatisticVariable latency_millisec;
@optional Service::Monitoring::ThreadPoolPeriodic thread_pool;
};
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.14. |
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.15. |
Field Name |
Description |
---|---|
in_samples_per_sec |
Statistic variable that provides information about the input samples per second as an aggregation of the same metric across the contained Routes/TopicRoutes. |
in_bytes_per_sec |
Statistic variable that provides information about the input bytes per second as an aggregation of the same metric across the contained Routes/TopicRoutes. |
output_samples_per_sec |
Statistic variable that provides information about the output samples per second as an aggregation of the same metric across the contained Routes/TopicRoutes. |
output_bytes_per_sec |
Statistic variable that provides information about the output bytes per second as an aggregation of the same metric across the contained Routes/TopicRoutes. |
latency_millisec |
Statistic variable that provides information about the latency in milliseconds as an aggregation of the same metric across the contained Routes/TopicRoutes. |
thread_pool |
Sequence of |
6.2.4. AutoRoute¶
@mutable @nested
struct AutoRouteStreamPortInfo {
XmlString configuration;
};
@mutable @nested
struct AutoRouteConfig : Service::Monitoring::EntityConfig {
@optional AutoRouteStreamPortInfo input;
@optional AutoRouteStreamPortInfo output;
};
@mutable @nested
struct AutoRouteEvent : Service::Monitoring::EntityEvent {
};
@mutable @nested
struct AutoRoutePeriodic {
@optional Service::Monitoring::StatisticVariable in_samples_per_sec;
@optional Service::Monitoring::StatisticVariable in_bytes_per_sec;
@optional Service::Monitoring::StatisticVariable out_samples_per_sec;
@optional Service::Monitoring::StatisticVariable out_bytes_per_sec;
@optional Service::Monitoring::StatisticVariable latency_millisec;
int64 route_count;
};
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.14. |
input |
See Table 6.13. |
output |
See Table 6.13. |
Field Name |
Description |
---|---|
configuration |
String representation of the XML configuration of the object. |
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.15. |
Field Name |
Description |
---|---|
in_samples_per_sec |
Statistic variable that provides information about the input samples per second as an aggregation of the same metric across all current Routes/TopicRoutes created from this AutoRoute/AutoTopicRoute. |
in_bytes_per_sec |
Statistic variable that provides information about the input bytes per second as an aggregation of the same metric across all current Routes/TopicRoutes created from this AutoRoute/AutoTopicRoute. |
output_samples_per_sec |
Statistic variable that provides information about the output samples per second as an aggregation of the same metric across all current Routes/TopicRoutes created from this AutoRoute/AutoTopicRoute. |
output_bytes_per_sec |
Statistic variable that provides information about the output bytes per second as an aggregation of the same metric across all current Routes/TopicRoutes created from this AutoRoute/AutoTopicRoute. |
latency_millisec |
Statistic variable that provides information about the latency in milliseconds as an aggregation of the same metric across all current Routes/TopicRoutes created from this AutoRoute/AutoTopicRoute. |
route_count |
Current number of Routes/TopicRoutes created from this AutoRoute/AutoTopicRoute. |
6.2.5. Route¶
@mutable @nested
struct RouteConfig : Service::Monitoring::EntityConfig {
@optional Service::Monitoring::ResourceGuid auto_route_guid;
};
@mutable @nested
struct RouteEvent : Service::Monitoring::EntityEvent {
};
@mutable @nested
struct RoutePeriodic {
@optional Service::Monitoring::StatisticVariable in_samples_per_sec;
@optional Service::Monitoring::StatisticVariable in_bytes_per_sec;
@optional Service::Monitoring::StatisticVariable out_samples_per_sec;
@optional Service::Monitoring::StatisticVariable out_bytes_per_sec;
@optional Service::Monitoring::StatisticVariable latency_millisec;
};
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.14. |
auto_route_guid |
GUID of the AutoRoute/AutoTopicRoute from which this Route/TopicRoute was created. This field is set to zero for standalone routes. |
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.15. |
Field Name |
Description |
---|---|
in_samples_per_sec |
Statistic variable that provides information about the input samples per second as an aggregation of the same metric across its contained Inputs. |
in_bytes_per_sec |
Statistic variable that provides information about the input bytes per second as an aggregation of the same metric across its contained Inputs. |
output_samples_per_sec |
Statistic variable that provides information about the output samples per second as an aggregation of the same metric across its contained Outputs. |
output_bytes_per_sec |
Statistic variable that provides information about the output bytes per second as an aggregation of the same metric across its contained Outputs. |
latency_millisec |
Statistic variable that provides information about the latency in
milliseconds for the route. |
route_count |
Current number of Routes/TopicRoutes created from this AutoRoute/AutoTopicRoute. |
6.2.6. Input/Output¶
@mutable @nested
struct TransformationInfo {
BoundedString plugin_name;
XmlString configuration;
};
@mutable @nested
struct StreamPortConfig : Service::Monitoring::EntityConfig {
BoundedString stream_name;
BoundedString registered_type_name;
BoundedString connection_name;
@optional TransformationInfo transformation;
};
@mutable @nested
struct StreamPortEvent : Service::Monitoring::EntityEvent{
@optional Service::BuiltinTopicKey endpoint_key;
};
@mutable @nested
struct StreamPortPeriodic {
@optional Service::Monitoring::StatisticVariable samples_per_sec;
@optional Service::Monitoring::StatisticVariable bytes_per_sec;
};
/*
* Input
*/
@mutable @nested
struct InputConfig : StreamPortConfig {
};
@mutable @nested
struct InputEvent: StreamPortEvent {
};
@mutable @nested
struct InputPeriodic : StreamPortPeriodic {
};
/*
* Output
*/
@mutable @nested
struct OutputConfig : StreamPortConfig {
};
@mutable @nested
struct OutputEvent: StreamPortEvent {
};
@mutable @nested
struct OutputPeriodic : StreamPortPeriodic {
};
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.14. |
stream_name |
Input/output stream name as specified in the configuration. |
registered_type_name |
Input/Output registered type name. This is the name used to register the type of the input/output stream. |
connection_name |
Name of the Connection from which the Input/Output is created. The value of this field can be used to determine the adapter plugin (DDS or generic) from which the underlying StreamReader/StreamWriter are created. |
transformation |
Optional field.
If present, it provides information about the installed
Transformation. See Table 6.20. |
Field Name |
Description |
---|---|
plugin_name |
Name of the adapter plugin as specified in the |
configuration |
String representation of the XML configuration of the object. |
Field Name |
Description |
---|---|
Inherited fields from |
See Table 12.15. |
Field Name |
Description |
---|---|
samples_per_sec |
Statistic variable that provides information about the samples per second provided by this input/output:
|
bytes_per_sec 1 |
Statistic variable that provides information about the bytes per
second provided by this input/output. |
- 1
The throughput measured in bytes can only be computed if the samples are DynamicData samples. If not, only the throughput, measured in samples per second, is available. This statement applies to all the statistic variables described in this chapter that measure throughput in bytes per second.