RTI Connext C API Version 7.3.0
DDS_MonitoringLoggingDistributionSettings Struct Reference

Configures the distribution of log messages. More...

Data Fields

DDS_UnsignedLong concurrency_level
 Defines how concurrent the push of log messages to RTI Monitoring Library 2.0 is. More...
 
DDS_UnsignedLong max_historical_logs
 The number of log messages that RTI Monitoring Library 2.0 will keep as history. More...
 
char * datawriter_qos_profile_name
 The fully qualified name of the profile used to configure the DDS_DataWriter 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 RTI Monitoring Library 2.0 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 with the DDS_MonitoringTelemetryData::logs QoS Policy or by sending a command to RTI Monitoring Library 2.0.

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

RTI Monitoring Library 2.0 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 the last 'n' messages published by the logging thread (where 'n' is the value of DDS_MonitoringLoggingDistributionSettings::max_historical_logs).

Field Documentation

◆ concurrency_level

DDS_UnsignedLong DDS_MonitoringLoggingDistributionSettings::concurrency_level

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

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

With a concurrency_level of 'n', RTI Monitoring Library 2.0 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 log 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 RTI Monitoring Library 2.0 will keep as history.

RTI Monitoring Library 2.0 will keep as history the last max_historical_logs published messages.

A value of 0 means that RTI Monitoring Library 2.0 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 DDS_DataWriter that distributes log messages.

The DDS_DataWriter Topic is RTI_MONITORING_LOGGING_TOPIC_NAME.

If NULL (the default value), then RTI Monitoring Library 2.0 uses DDS_PROFILE_GENERIC_MONITORING2.

[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 RTI Monitoring Library 2.0 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 RTI Monitoring Library 2.0.

[default] 1 second