Skip to content

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 26 April 2021 at 15:31:02 CEST