iox::roudi::MemPoolIntrospection🔗
This class handles the mempool intropection for RouDi. It is recommended to use the MemPoolIntrospectionType alias which sets the intended template parameters required for the actual introspection. The class sends snapshots of the mempool usage to the introspection client if subscribed. More...
#include <mempool_introspection.hpp>
Public Functions🔗
Name | |
---|---|
MemPoolIntrospection(MemoryManager & rouDiInternalMemoryManager, SegmentManager & segmentManager, PublisherPort && publisherPort) The constructor for the MemPoolIntrospection. It starts a thread and set it into a wait condition. |
|
~MemPoolIntrospection() | |
MemPoolIntrospection(MemPoolIntrospection const & ) | |
MemPoolIntrospection & | operator=(MemPoolIntrospection const & ) |
MemPoolIntrospection(MemPoolIntrospection && ) | |
MemPoolIntrospection & | operator=(MemPoolIntrospection && ) |
void | run() This function starts the periodic transmission of snapshots of the mempool introspecton data. The send interval can be set by setSendInterval(...). By default it's 1 second. |
void | stop() This function stops the thread which sends the introspection data. It is not possible to start the thread again. |
void | setSendInterval(const units::Duration interval) This function configures the interval for the transmission of the mempool introspection data. |
Protected Functions🔗
Name | |
---|---|
void | send() |
Protected Attributes🔗
Name | |
---|---|
MemoryManager * | m_rouDiInternalMemoryManager |
SegmentManager * | m_segmentManager |
PublisherPort | m_publisherPort |
Detailed Description🔗
template <typename MemoryManager ,
typename SegmentManager ,
typename PublisherPort >
class iox::roudi::MemPoolIntrospection;
This class handles the mempool intropection for RouDi. It is recommended to use the MemPoolIntrospectionType alias which sets the intended template parameters required for the actual introspection. The class sends snapshots of the mempool usage to the introspection client if subscribed.
Public Functions Documentation🔗
function MemPoolIntrospection🔗
inline MemPoolIntrospection(
MemoryManager & rouDiInternalMemoryManager,
SegmentManager & segmentManager,
PublisherPort && publisherPort
)
The constructor for the MemPoolIntrospection. It starts a thread and set it into a wait condition.
Parameters:
- rouDiInternalMemoryManager is the internal RouDi memory manager
- segmentManager contains the shared memory segments and their memory pools which will be intropected
- publisherPort is the publisher port for transmission of the introspection data
function ~MemPoolIntrospection🔗
inline ~MemPoolIntrospection()
function MemPoolIntrospection🔗
MemPoolIntrospection(
MemPoolIntrospection const &
)
function operator=🔗
MemPoolIntrospection & operator=(
MemPoolIntrospection const &
)
function MemPoolIntrospection🔗
MemPoolIntrospection(
MemPoolIntrospection &&
)
function operator=🔗
MemPoolIntrospection & operator=(
MemPoolIntrospection &&
)
function run🔗
inline void run()
This function starts the periodic transmission of snapshots of the mempool introspecton data. The send interval can be set by setSendInterval(...). By default it's 1 second.
function stop🔗
inline void stop()
This function stops the thread which sends the introspection data. It is not possible to start the thread again.
function setSendInterval🔗
inline void setSendInterval(
const units::Duration interval
)
This function configures the interval for the transmission of the mempool introspection data.
Parameters:
- interval duration between two send invocations
Protected Functions Documentation🔗
function send🔗
inline void send()
Protected Attributes Documentation🔗
variable m_rouDiInternalMemoryManager🔗
MemoryManager * m_rouDiInternalMemoryManager {nullptr};
variable m_segmentManager🔗
SegmentManager * m_segmentManager {nullptr};
variable m_publisherPort🔗
PublisherPort m_publisherPort {nullptr};
Updated on 31 May 2022 at 15:29:16 CEST