// Generated: 10/08/2024 18:15:51 #if !defined(omg_distribution_model/monitoring_dds_distribution.idl_included) #define omg_distribution_model/monitoring_dds_distribution.idl #include "monitoring_annotations.idl" #include "monitoring_statistics.idl" #include "monitoring_logging.idl" #include "monitoring_resource.idl" #include "monitoring_administration.idl" #include "monitoring_dds_common.idl" #include "monitoring_dds_status.idl" #include "monitoring_dds_qos.idl" #include "monitoring_dds_entities.idl" module monitoring { module dds { // Resource names and class ID constants // ------------------------------------- // Constants for builtin resources already defined in "monitoring_resource.idl" // const ResourceClassName INVALID_RESOURCE_CLASS_NAME = "invalid"; // const ResourceClassId INVALID_RESOURCE_CLASS_ID = 70114302; // hashid("invalid") // const ResourceClassName REGISTRY_RESOURCE_CLASS_NAME = "registry"; // const ResourceClassId REGISTRY_RESOURCE_CLASS_ID = 257761449; // hashid("registry") // const ResourceClassName TYPE_RESOURCE_CLASS_NAME = "type"; // const ResourceClassId TYPE_RESOURCE_CLASS_ID = 46964057; // hashid("type") const ResourceClassName REGISTERED_TYPE_RESOURCE_CLASS_NAME = "registered_type"; const ResourceClassId REGISTERED_TYPE_RESOURCE_CLASS_ID = 74341241; // hashid("registered_type") const ResourceClassName TOPIC_RESOURCE_CLASS_NAME = "topic"; const ResourceClassId TOPIC_RESOURCE_CLASS_ID = 208182173; // hashid("topic") const ResourceClassName DATA_WRITER_RESOURCE_CLASS_NAME = "data_writer"; const ResourceClassId DATA_WRITER_RESOURCE_CLASS_ID = 142415660; // hashid("data_writer") const ResourceClassName PUBLISHER_RESOURCE_CLASS_NAME = "publisher"; const ResourceClassId PUBLISHER_RESOURCE_CLASS_ID = 116239698; // hashid("publisher") const ResourceClassName DATA_READER_RESOURCE_CLASS_NAME = "data_reader"; const ResourceClassId DATA_READER_RESOURCE_CLASS_ID = 179666769; // hashid("data_reader") const ResourceClassName SUBSCRIBER_RESOURCE_CLASS_NAME = "subscriber"; const ResourceClassId SUBSCRIBER_RESOURCE_CLASS_ID = 94988179; // hashid("subscriber") const ResourceClassName DOMAIN_PARTICIPANT_RESOURCE_CLASS_NAME = "domain_participant"; const ResourceClassId DOMAIN_PARTICIPANT_RESOURCE_CLASS_ID = 99258059; // hashid("domain_participant") const ResourceClassName APPLICATION_RESOURCE_CLASS_NAME = "application"; const ResourceClassId APPLICATION_RESOURCE_CLASS_ID = 265647670; // hashid("application") // Resource Types // -------------- // Resource type: RegisteredType, distribution: ON_CHANGE @mutable @nested @autoid struct RegisteredTypeEvent { @optional string registered_type_name; @optional TypeIdentifierSerialized complete_type_id; }; // Resource type: RegisteredType, distribution: PERIODIC @mutable @nested @autoid struct RegisteredTypePeriodic { }; // Resource type: Topic, distribution: ON_CHANGE @mutable @nested @autoid struct TopicEvent { @optional GUID_t dds_guid; @optional string topic_name; @optional TopicDataQosPolicy qos_topic_data; @optional DurabilityQosPolicy qos_durability; @optional DurabilityServiceQosPolicy qos_durability_service; @optional DeadlineQosPolicy qos_deadline; @optional LatencyBudgetQosPolicy qos_latency_budget; @optional LivelinessQosPolicy qos_liveliness; @optional ReliabilityQosPolicy qos_reliability; @optional DestinationOrderQosPolicy qos_destination_order; @optional HistoryQosPolicy qos_history; @optional ResourceLimitsQosPolicy qos_resource_limits; @view(member_level=1) @optional ResourceLimitsQosPolicy qos_resource_limits_1; @optional TransportPriorityQosPolicy qos_transport_priority; @optional LifespanQosPolicy qos_lifespan; @optional OwnershipQosPolicy qos_ownership; @optional InconsistentTopicStatus status_inconsistent_topic; }; // Resource type: Topic, distribution: PERIODIC @mutable @nested @autoid struct TopicPeriodic { }; // Resource type: DataWriter, distribution: ON_CHANGE @mutable @nested @autoid struct DataWriterEvent { @optional GUID_t dds_guid; @optional DurabilityQosPolicy qos_durability; @optional DurabilityServiceQosPolicy qos_durability_service; @optional DeadlineQosPolicy qos_deadline; @optional LatencyBudgetQosPolicy qos_latency_budget; @optional LivelinessQosPolicy qos_liveliness; @optional ReliabilityQosPolicy qos_reliability; @optional DestinationOrderQosPolicy qos_destination_order; @optional HistoryQosPolicy qos_history; @optional ResourceLimitsQosPolicy qos_resource_limits; @view(member_level=1) @optional ResourceLimitsQosPolicy qos_resource_limits_1; @optional TransportPriorityQosPolicy qos_transport_priority; @optional LifespanQosPolicy qos_lifespan; @optional UserDataQosPolicy qos_user_data; @optional OwnershipQosPolicy qos_ownership; @optional OwnershipStrengthQosPolicy qos_ownership_strength; @optional WriterDataLifecycleQosPolicy qos_writer_data_lifecycle; @optional LivelinessLostStatus status_liveliness_lost; @optional OfferedDeadlineMissedStatus status_offered_deadline_missed; @optional OfferedIncompatibleQosStatus status_offered_incompatible_qos; @optional PublicationMatchedStatus status_publication_matched; @view(member_level=1) @optional PublicationMatchedStatus status_publication_matched_1; }; // Resource type: DataWriter, distribution: PERIODIC @mutable @nested @autoid struct DataWriterPeriodic { @optional DataWriterCacheStatus status_cache; @view(member_level=1) @optional DataWriterCacheStatus status_cache_1; @view(member_level=2) @optional DataWriterCacheStatus status_cache_2; @optional DataWriterProtocolStatus status_protocol; @view(member_level=1) @optional DataWriterProtocolStatus status_protocol_1; @view(member_level=2) @optional DataWriterProtocolStatus status_protocol_2; @optional ReliableWriterCacheChangedStatus status_reliable_cache_changed; @view(member_level=1) @optional ReliableWriterCacheChangedStatus status_reliable_cache_changed_1; }; // Resource type: Publisher, distribution: ON_CHANGE @mutable @nested @autoid struct PublisherEvent { @optional GUID_t dds_guid; @optional PresentationQosPolicy qos_presentation; @optional PartitionQosPolicy qos_partition; @optional GroupDataQosPolicy qos_group_data; @optional EntityFactoryQosPolicy qos_entity_factory; }; // Resource type: Publisher, distribution: PERIODIC @mutable @nested @autoid struct PublisherPeriodic { }; // Resource type: DataReader, distribution: ON_CHANGE @mutable @nested @autoid struct DataReaderEvent { @optional GUID_t dds_guid; @optional DurabilityQosPolicy qos_durability; @optional DeadlineQosPolicy qos_deadline; @optional LatencyBudgetQosPolicy qos_latency_budget; @optional LivelinessQosPolicy qos_liveliness; @optional ReliabilityQosPolicy qos_reliability; @optional DestinationOrderQosPolicy qos_destination_order; @optional HistoryQosPolicy qos_history; @optional ResourceLimitsQosPolicy qos_resource_limits; @view(member_level=1) @optional ResourceLimitsQosPolicy qos_resource_limits_1; @optional UserDataQosPolicy qos_user_data; @optional OwnershipQosPolicy qos_ownership; @optional TimeBasedFilterQosPolicy qos_time_based_filter; @optional ReaderDataLifecycleQosPolicy qos_reader_data_lifecycle; @optional SampleRejectedStatus status_sample_rejected; @optional LivelinessChangedStatus status_liveliness_changed; @optional RequestedDeadlineMissedStatus status_requested_deadline_missed; @optional RequestedIncompatibleQosStatus status_requested_incompatible_qos; @optional SampleLostStatus status_sample_lost; @optional SubscriptionMatchedStatus status_subscription_matched; @view(member_level=1) @optional SubscriptionMatchedStatus status_subscription_matched_1; }; // Resource type: DataReader, distribution: PERIODIC @mutable @nested @autoid struct DataReaderPeriodic { @optional DataReaderCacheStatus status_cache; @view(member_level=1) @optional DataReaderCacheStatus status_cache_1; @view(member_level=2) @optional DataReaderCacheStatus status_cache_2; @optional DataReaderProtocolStatus status_protocol; @view(member_level=1) @optional DataReaderProtocolStatus status_protocol_1; @view(member_level=2) @optional DataReaderProtocolStatus status_protocol_2; }; // Resource type: Subscriber, distribution: ON_CHANGE @mutable @nested @autoid struct SubscriberEvent { @optional GUID_t dds_guid; @optional PresentationQosPolicy qos_presentation; @optional PartitionQosPolicy qos_partition; @optional GroupDataQosPolicy qos_group_data; @optional EntityFactoryQosPolicy qos_entity_factory; }; // Resource type: Subscriber, distribution: PERIODIC @mutable @nested @autoid struct SubscriberPeriodic { }; // Resource type: DomainParticipant, distribution: ON_CHANGE @mutable @nested @autoid struct DomainParticipantEvent { @optional GUID_t dds_guid; @optional DomainId_t domain_id; @optional string domain_tag; @optional VendorId_t vendor_id; @optional ProtocolVersion_t protocol_version; @optional ProductVersion_t product_version; @optional string platform; @optional UserDataQosPolicy qos_user_data; @optional EntityFactoryQosPolicy qos_entity_factory; @optional sequence udpv4_addresses; @optional sequence udpv6_addresses; }; // Resource type: DomainParticipant, distribution: PERIODIC @mutable @nested @autoid struct DomainParticipantPeriodic { @optional FloatStat send_samples_per_s; @view(member_level=1) @optional FloatStat send_samples_per_s_1; @view(member_level=2) @optional FloatStat send_samples_per_s_2; @optional FloatStat send_bytes_per_s; @view(member_level=1) @optional FloatStat send_bytes_per_s_1; @view(member_level=2) @optional FloatStat send_bytes_per_s_2; @optional FloatStat receive_samples_per_s; @view(member_level=1) @optional FloatStat receive_samples_per_s_1; @view(member_level=2) @optional FloatStat receive_samples_per_s_2; @optional FloatStat receive_bytes_per_s; @view(member_level=1) @optional FloatStat receive_bytes_per_s_1; @view(member_level=2) @optional FloatStat receive_bytes_per_s_2; @optional FloatStat receive_latency_ms; @view(member_level=1) @optional FloatStat receive_latency_ms_1; @view(member_level=2) @optional FloatStat receive_latency_ms_2; @optional FloatStat udpv4_usage_in_net_pkts; @view(member_level=1) @optional FloatStat udpv4_usage_in_net_pkts_1; @view(member_level=2) @optional FloatStat udpv4_usage_in_net_pkts_2; @optional FloatStat udpv4_usage_in_net_bytes; @view(member_level=1) @optional FloatStat udpv4_usage_in_net_bytes_1; @view(member_level=2) @optional FloatStat udpv4_usage_in_net_bytes_2; @optional FloatStat udpv4_usage_out_net_pkts; @view(member_level=1) @optional FloatStat udpv4_usage_out_net_pkts_1; @view(member_level=2) @optional FloatStat udpv4_usage_out_net_pkts_2; @optional FloatStat udpv4_usage_out_net_bytes; @view(member_level=1) @optional FloatStat udpv4_usage_out_net_bytes_1; @view(member_level=2) @optional FloatStat udpv4_usage_out_net_bytes_2; @optional FloatStat udpv6_usage_in_net_pkts; @view(member_level=1) @optional FloatStat udpv6_usage_in_net_pkts_1; @view(member_level=2) @optional FloatStat udpv6_usage_in_net_pkts_2; @optional FloatStat udpv6_usage_in_net_bytes; @view(member_level=1) @optional FloatStat udpv6_usage_in_net_bytes_1; @view(member_level=2) @optional FloatStat udpv6_usage_in_net_bytes_2; @optional FloatStat udpv6_usage_out_net_pkts; @view(member_level=1) @optional FloatStat udpv6_usage_out_net_pkts_1; @view(member_level=2) @optional FloatStat udpv6_usage_out_net_pkts_2; @optional FloatStat udpv6_usage_out_net_bytes; @view(member_level=1) @optional FloatStat udpv6_usage_out_net_bytes_1; @view(member_level=2) @optional FloatStat udpv6_usage_out_net_bytes_2; }; // Resource type: Application, distribution: ON_CHANGE @mutable @nested @autoid struct ApplicationEvent { @optional string hostname; @optional uint64 process_id; @optional HostPlatformResources host_resources; @optional sequence logging_logging; }; // Resource type: Application, distribution: PERIODIC @mutable @nested @autoid struct ApplicationPeriodic { @optional PercentStat host_cpu_percent; @view(member_level=1) @optional PercentStat host_cpu_percent_1; @view(member_level=2) @optional PercentStat host_cpu_percent_2; @optional uint8 host_used_memory_percent; @optional FloatStat host_network_usage_in_net_pkts; @view(member_level=1) @optional FloatStat host_network_usage_in_net_pkts_1; @view(member_level=2) @optional FloatStat host_network_usage_in_net_pkts_2; @optional FloatStat host_network_usage_in_net_bytes; @view(member_level=1) @optional FloatStat host_network_usage_in_net_bytes_1; @view(member_level=2) @optional FloatStat host_network_usage_in_net_bytes_2; @optional FloatStat host_network_usage_out_net_pkts; @view(member_level=1) @optional FloatStat host_network_usage_out_net_pkts_1; @view(member_level=2) @optional FloatStat host_network_usage_out_net_pkts_2; @optional FloatStat host_network_usage_out_net_bytes; @view(member_level=1) @optional FloatStat host_network_usage_out_net_bytes_1; @view(member_level=2) @optional FloatStat host_network_usage_out_net_bytes_2; @optional uint32 host_uptime_sec; @optional PercentStat process_cpu_percent; @view(member_level=1) @optional PercentStat process_cpu_percent_1; @view(member_level=2) @optional PercentStat process_cpu_percent_2; @optional ProcessMemoryUtilization process_memory_usage; @optional FloatStat process_network_usage_in_net_pkts; @view(member_level=1) @optional FloatStat process_network_usage_in_net_pkts_1; @view(member_level=2) @optional FloatStat process_network_usage_in_net_pkts_2; @optional FloatStat process_network_usage_in_net_bytes; @view(member_level=1) @optional FloatStat process_network_usage_in_net_bytes_1; @view(member_level=2) @optional FloatStat process_network_usage_in_net_bytes_2; @optional FloatStat process_network_usage_out_net_pkts; @view(member_level=1) @optional FloatStat process_network_usage_out_net_pkts_1; @view(member_level=2) @optional FloatStat process_network_usage_out_net_pkts_2; @optional FloatStat process_network_usage_out_net_bytes; @view(member_level=1) @optional FloatStat process_network_usage_out_net_bytes_1; @view(member_level=2) @optional FloatStat process_network_usage_out_net_bytes_2; @optional uint32 process_uptime_sec; }; // Periodic and Event unions // ------------------------- @appendable @nested // union PeriodicUnion : PeriodicBase { union PeriodicUnion switch(ResourceClassId) { case REGISTRY_RESOURCE_CLASS_ID: RegistryPeriodic registry; case TYPE_RESOURCE_CLASS_ID: TypePeriodic type; case REGISTERED_TYPE_RESOURCE_CLASS_ID: RegisteredTypePeriodic registered_type; case TOPIC_RESOURCE_CLASS_ID: TopicPeriodic topic; case DATA_WRITER_RESOURCE_CLASS_ID: DataWriterPeriodic data_writer; case PUBLISHER_RESOURCE_CLASS_ID: PublisherPeriodic publisher; case DATA_READER_RESOURCE_CLASS_ID: DataReaderPeriodic data_reader; case SUBSCRIBER_RESOURCE_CLASS_ID: SubscriberPeriodic subscriber; case DOMAIN_PARTICIPANT_RESOURCE_CLASS_ID: DomainParticipantPeriodic domain_participant; case APPLICATION_RESOURCE_CLASS_ID: ApplicationPeriodic application; }; @appendable @nested // union EventUnion : EventBase { union EventUnion switch(ResourceClassId) { case REGISTRY_RESOURCE_CLASS_ID: RegistryEvent registry; case TYPE_RESOURCE_CLASS_ID: TypeEvent type; case REGISTERED_TYPE_RESOURCE_CLASS_ID: RegisteredTypeEvent registered_type; case TOPIC_RESOURCE_CLASS_ID: TopicEvent topic; case DATA_WRITER_RESOURCE_CLASS_ID: DataWriterEvent data_writer; case PUBLISHER_RESOURCE_CLASS_ID: PublisherEvent publisher; case DATA_READER_RESOURCE_CLASS_ID: DataReaderEvent data_reader; case SUBSCRIBER_RESOURCE_CLASS_ID: SubscriberEvent subscriber; case DOMAIN_PARTICIPANT_RESOURCE_CLASS_ID: DomainParticipantEvent domain_participant; case APPLICATION_RESOURCE_CLASS_ID: ApplicationEvent application; }; @appendable struct Periodic { ResourceGUID resource_guid; PeriodicUnion value; }; @appendable struct Event { ResourceGUID resource_guid; @optional EventInfo info; EventUnion value; }; };}; // close modules monitoring::dds #endif /* omg_distribution_model/monitoring_dds_distribution.idl */