RTI Connext C API Version 7.1.0
DDS_MonitoringEventDistributionSettings Struct Reference

Configures the distribution of event metrics. More...

Data Fields

DDS_UnsignedLong concurrency_level
 Defines how concurrent the push is of event metrics to the RTI Observability Library. More...
 
char * datawriter_qos_profile_name
 The fully qualified name of the profile used to configure the DDS_DataWriter that distributes event metrics. More...
 
struct DDS_ThreadSettings_t thread
 The settings of the event metric thread. More...
 
struct DDS_Duration_t publication_period
 Period at which the event metric thread publishes the event metrics that have changed since the last time they were published. More...
 

Detailed Description

Configures the distribution of event metrics.

Event metrics are provided to the RTI Observability Library when they change.

For example, if the liveliness of a DDS_DataWriter is lost, a matching DDS_DataReader will push the new value of DDS_LivelinessChangedStatus to the RTI Observability Library so that the liveliness status change can be distributed.

There are three kinds of event metrics:

  • Configuration metrics: Provided to the RTI Observability Library by pushing changes to QoS policies.
  • Status metrics: Provided to the RTI Observability Library by pushing changes to the event statuses such as DDS_LivelinessChangedStatus.
  • Resource metrics: Provided to the RTI Observability Library when a resource (such as DDS_DataWriter) is created or deleted.

Field Documentation

◆ concurrency_level

DDS_UnsignedLong DDS_MonitoringEventDistributionSettings::concurrency_level

Defines how concurrent the push is of event metrics to the RTI Observability Library.

With a concurrency_level of one, all the event metrics pushed to the RTI Observability Library will be stored in a single queue protected by a single mutex.

With a concurrency_level of 'n', the RTI Observability Library will create 'n' queues for event metrics, each queue protected by its own mutex. Each resource (e.g, a DDS_DataReader) will be associated with one of the queues when the resource is registered with the RTI Observability Library. Therefore, all the event metrics for a single resource always go to the same queue.

The event metrics for two resources associated with different event queues can be pushed in parallel. This is why a higher concurrency_level provides more concurrency.

The event metrics added to the event queues are processed by a single thread configured using DDS_MonitoringEventDistributionSettings::thread.

[default] 5

[range] [1, 100]

◆ datawriter_qos_profile_name

char* DDS_MonitoringEventDistributionSettings::datawriter_qos_profile_name

The fully qualified name of the profile used to configure the DDS_DataWriter that distributes event metrics.

The DDS_DataWriter Topic is RTI_MONITORING_EVENT_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_MonitoringEventDistributionSettings::thread

The settings of the event metric thread.

The event metric thread periodically publishes the event metrics pushed into the RTI Observability Library event metric queues after they change their values.

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

[default] DDS_THREAD_SETTINGS_DEFAULT

◆ publication_period

struct DDS_Duration_t DDS_MonitoringEventDistributionSettings::publication_period

Period at which the event metric thread publishes the event metrics that have changed since the last time they were published.

With a period of 0 seconds, changes to event metrics will be published immediately after they are pushed into the RTI Observability Library.

[default] 5 seconds