RTI Connext Traditional C++ API Version 7.1.0
DDS_MonitoringLoggingDistributionSettings Struct Reference

Configures the distribution of log messages. More...

Public Attributes

DDS_UnsignedLong concurrency_level
 Defines how concurrent the push of log messages to the RTI Observability Library is. More...
 
DDS_UnsignedLong max_historical_logs
 The number of log messages that the RTI Observability Library will keep as history. More...
 
char * datawriter_qos_profile_name
 The fully qualified name of the profile used to configure the DDSDataWriter that distributes log messages. More...
 
struct DDS_ThreadSettings_t thread
 The settings of the logging thread. More...
 
struct DDS_Duration_t publication_period
 Period at which the logging thread publishes log messages. More...
 

Detailed Description

Configures the distribution of log messages.

Log messages are pushed into the RTI Observability Library and published by the logging thread.

The logging thread only publishes a log message with a Syslog level smaller than or equal to the forwarding level of the NDDS_Config_LogFacility associated with the log message.

The default value of the forwarding level for all facilities is NDDS_CONFIG_SYSLOG_VERBOSITY_WARNING. This value can be changed by sending a command to the RTI Observability Library monitoring the RTI Connext application.

In this release, commands can only be sent from the RTI Observability Dashboards.

The RTI Observability Library can be configured to keep a history of log messages for later distribution when a log snapshot is requested by a RTI Observability Collector Service.

The log messages maintained in the history are all of the log messages generated by the RTI Connext application regardless of the forwarding levels configured in the RTI Observability Library.

Member Data Documentation

◆ concurrency_level

DDS_UnsignedLong DDS_MonitoringLoggingDistributionSettings::concurrency_level

Defines how concurrent the push of log messages to the RTI Observability Library is.

With a concurrency_level of one, all the log messages pushed to the RTI Observability Library will be stored into a single queue protected by a single mutex.

With a concurrency_level of 'n', the RTI Observability Library will create 'n' queues for log messages, each queue protected by its own mutex.

The log messages generated by a single thread will always be pushed to the same queue. The log messages for two threads associated with different event queues can be pushed in parallel. This is why a higher concurrency_level provides more concurrency.

The log messages added to the log queues are processed and published by a single thread configured using DDS_MonitoringLoggingDistributionSettings::thread.

[default] 5

[range] [1, 100]

◆ max_historical_logs

DDS_UnsignedLong DDS_MonitoringLoggingDistributionSettings::max_historical_logs

The number of log messages that the RTI Observability Library will keep as history.

The RTI Observability Library will keep as history the last max_historical_logs generated by the RTI Connext application.

A value of 0 means that the RTI Observability Library should not keep any history.

[default] 128

◆ datawriter_qos_profile_name

char* DDS_MonitoringLoggingDistributionSettings::datawriter_qos_profile_name

The fully qualified name of the profile used to configure the DDSDataWriter that distributes log messages.

The DDSDataWriter Topic is RTI_MONITORING_LOGGING_TOPIC_NAME.

If NULL (the default value), then the RTI Observability Library uses DDS_PROFILE_GENERIC_OBSERVABILITY.

[default] NULL

◆ thread

struct DDS_ThreadSettings_t DDS_MonitoringLoggingDistributionSettings::thread

The settings of the logging thread.

The logging thread periodically publishes the log messages pushed into the RTI Observability Library log message queues after they are generated.

The thread runs at the period configured using DDS_MonitoringLoggingDistributionSettings::publication_period.

[default] DDS_THREAD_SETTINGS_DEFAULT

◆ publication_period

struct DDS_Duration_t DDS_MonitoringLoggingDistributionSettings::publication_period

Period at which the logging thread publishes log messages.

With a period of 0 seconds, log messages will be published immediately after they are pushed into the RTI Observability Library.

[default] 1 second