RTI Connext C API Version 7.3.0
|
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... | |
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).
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]
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
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
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
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