17#ifndef IOX_POSH_ROUDI_INTROSPECTION_TYPES_HPP
18#define IOX_POSH_ROUDI_INTROSPECTION_TYPES_HPP
20#include "iceoryx_hoofs/cxx/vector.hpp"
21#include "iceoryx_posh/capro/service_description.hpp"
22#include "iceoryx_posh/iceoryx_posh_types.hpp"
23#include "iceoryx_posh/mepoo/mepoo_config.hpp"
29constexpr const char INTROSPECTION_SERVICE_ID[] =
"Introspection";
30constexpr const char INTROSPECTION_APP_NAME[] =
"introspection";
31constexpr const char INTROSPECTION_NODE_NAME[] =
"introspection";
32const capro::ServiceDescription IntrospectionMempoolService(INTROSPECTION_SERVICE_ID,
"RouDi_ID",
"MemPool");
33constexpr int MAX_GROUP_NAME_LENGTH = 32;
40 uint32_t m_usedChunks{0};
41 uint32_t m_minFreeChunks{0};
42 uint32_t m_numChunks{0};
43 uint32_t m_chunkSize{0};
44 uint32_t m_chunkPayloadSize{0};
54 cxx::string<MAX_GROUP_NAME_LENGTH> m_writerGroupName;
55 cxx::string<MAX_GROUP_NAME_LENGTH> m_readerGroupName;
70 capro::IdString_t m_caproInstanceID;
71 capro::IdString_t m_caproServiceID;
72 capro::IdString_t m_caproEventMethodID;
81 uint64_t m_publisherPortID{0};
82 iox::capro::Interfaces m_sourceInterface{iox::capro::Interfaces::INTERFACE_END};
88 cxx::vector<SubscriberPortData, MAX_SUBSCRIBERS> m_subscriberList;
89 cxx::vector<PublisherPortData, MAX_PUBLISHERS> m_publisherList;
93 IntrospectionPortThroughputService(INTROSPECTION_SERVICE_ID,
"RouDi_ID",
"PortThroughput");
97 uint64_t m_publisherPortID{0};
98 uint32_t m_sampleSize{0};
99 uint32_t m_chunkSize{0};
100 double m_chunksPerMinute{0};
101 uint64_t m_lastSendIntervalInNanoseconds{0};
102 bool m_isField{
false};
108 cxx::vector<PortThroughputData, MAX_PUBLISHERS> m_throughputList;
112 IntrospectionSubscriberPortChangingDataService(INTROSPECTION_SERVICE_ID,
"RouDi_ID",
"SubscriberPortsData");
117 uint64_t fifoSize{0};
118 uint64_t fifoCapacity{0};
119 iox::SubscribeState subscriptionState{iox::SubscribeState::NOT_SUBSCRIBED};
120 capro::Scope propagationScope{capro::Scope::INVALID};
125 cxx::vector<SubscriberPortChangingData, MAX_SUBSCRIBERS> subscriberPortChangingDataList;
133 RuntimeName_t m_name;
134 cxx::vector<NodeName_t, MAX_NODE_PER_PROCESS> m_nodes;
140 cxx::vector<ProcessIntrospectionData, MAX_PROCESS_NUMBER> m_processList;
class for the identification of a communication event including information on the service,...
Definition: service_description.hpp:81
cxx::vector< MemPoolIntrospectionInfo, MAX_SHM_SEGMENTS+1 > MemPoolIntrospectionInfoContainer
container for MemPoolInfo structs of all available mempools.
Definition: introspection_types.hpp:60
const capro::ServiceDescription IntrospectionPortService(INTROSPECTION_SERVICE_ID, "RouDi_ID", "Port")
publisher/subscriber port information consisting of a process name,a capro service description string...
cxx::vector< MemPoolInfo, MAX_NUMBER_OF_MEMPOOLS > MemPoolInfoContainer
container for MemPoolInfo structs of all available mempools.
Definition: introspection_types.hpp:48
struct for the storage of mempool usage information. This data container is used by the introstpectio...
Definition: introspection_types.hpp:39
the topic for the mempool introspection that a user can subscribe to
Definition: introspection_types.hpp:52
container for common port data which is related to the subscriber port as well as the publisher port
Definition: introspection_types.hpp:68
the topic for the port introspection that a user can subscribe to
Definition: introspection_types.hpp:87
Definition: introspection_types.hpp:96
the topic for the port throughput that a user can subscribe to
Definition: introspection_types.hpp:107
Definition: introspection_types.hpp:131
the topic for the process introspection that a user can subscribe to
Definition: introspection_types.hpp:139
container for publisher port introspection data.
Definition: introspection_types.hpp:80
Definition: introspection_types.hpp:115
Definition: introspection_types.hpp:124