Realm
A distributed, event-based tasking library
Loading...
Searching...
No Matches
Realm::SamplingProfilerImpl Class Reference

#include <sampling_impl.h>

Collaboration diagram for Realm::SamplingProfilerImpl:

Public Member Functions

void configure_from_cmdline (std::vector< std::string > &cmdline, CoreReservationSet &crs)
 
void flush_data (void)
 
void shutdown (void)
 
template<typename T >
GaugeSampleradd_gauge (T *gauge)
 
void remove_gauge (ProfilingGauges::Gauge *gauge, GaugeSampler *sampler)
 
void sampler_loop (void)
 

Static Public Member Functions

static SamplingProfilerget_profiler (void)
 

Protected Member Functions

 SamplingProfilerImpl (bool _is_default)
 
 ~SamplingProfilerImpl (void)
 
bool parse_profile_pattern (const std::string &s)
 
bool pattern_match (const std::string &name) const
 

Protected Attributes

bool is_default
 
Mutex mutex
 
bool is_configured
 
bool is_shut_down
 
bool cfg_enabled
 
size_t cfg_sample_interval
 
size_t cfg_buffer_size
 
std::vector< std::string > cfg_patterns
 
atomic< int > next_sampler_id
 
atomic< int > next_sample_index
 
std::vector< SampleFile::PacketNewGauge * > new_sampler_infos
 
GaugeSamplersampler_head
 
GaugeSampler ** sampler_tail
 
DelayedGaugeAdditiondelayed_additions
 
CoreReservationcore_rsrv
 
Threadsampling_thread
 
int output_fd
 
bool flush_requested
 
ProfilingGauges::AbsoluteGauge< long long > * sampling_start
 
ProfilingGauges::EventCounter< long long > * sampling_time
 

Friends

class SamplingProfiler
 

Constructor & Destructor Documentation

◆ SamplingProfilerImpl()

Realm::SamplingProfilerImpl::SamplingProfilerImpl ( bool  _is_default)
protected

◆ ~SamplingProfilerImpl()

Realm::SamplingProfilerImpl::~SamplingProfilerImpl ( void  )
protected

Member Function Documentation

◆ add_gauge()

template<typename T >
GaugeSampler * Realm::SamplingProfilerImpl::add_gauge ( T *  gauge)

◆ configure_from_cmdline()

void Realm::SamplingProfilerImpl::configure_from_cmdline ( std::vector< std::string > &  cmdline,
CoreReservationSet crs 
)

◆ flush_data()

void Realm::SamplingProfilerImpl::flush_data ( void  )

◆ get_profiler()

static SamplingProfiler & Realm::SamplingProfilerImpl::get_profiler ( void  )
static

◆ parse_profile_pattern()

bool Realm::SamplingProfilerImpl::parse_profile_pattern ( const std::string &  s)
protected

◆ pattern_match()

bool Realm::SamplingProfilerImpl::pattern_match ( const std::string &  name) const
protected

◆ remove_gauge()

void Realm::SamplingProfilerImpl::remove_gauge ( ProfilingGauges::Gauge gauge,
GaugeSampler sampler 
)

◆ sampler_loop()

void Realm::SamplingProfilerImpl::sampler_loop ( void  )

◆ shutdown()

void Realm::SamplingProfilerImpl::shutdown ( void  )

Friends And Related Symbol Documentation

◆ SamplingProfiler

friend class SamplingProfiler
friend

Member Data Documentation

◆ cfg_buffer_size

size_t Realm::SamplingProfilerImpl::cfg_buffer_size
protected

◆ cfg_enabled

bool Realm::SamplingProfilerImpl::cfg_enabled
protected

◆ cfg_patterns

std::vector<std::string> Realm::SamplingProfilerImpl::cfg_patterns
protected

◆ cfg_sample_interval

size_t Realm::SamplingProfilerImpl::cfg_sample_interval
protected

◆ core_rsrv

CoreReservation* Realm::SamplingProfilerImpl::core_rsrv
protected

◆ delayed_additions

DelayedGaugeAddition* Realm::SamplingProfilerImpl::delayed_additions
protected

◆ flush_requested

bool Realm::SamplingProfilerImpl::flush_requested
protected

◆ is_configured

bool Realm::SamplingProfilerImpl::is_configured
protected

◆ is_default

bool Realm::SamplingProfilerImpl::is_default
protected

◆ is_shut_down

bool Realm::SamplingProfilerImpl::is_shut_down
protected

◆ mutex

Mutex Realm::SamplingProfilerImpl::mutex
protected

◆ new_sampler_infos

std::vector<SampleFile::PacketNewGauge *> Realm::SamplingProfilerImpl::new_sampler_infos
protected

◆ next_sample_index

atomic<int> Realm::SamplingProfilerImpl::next_sample_index
protected

◆ next_sampler_id

atomic<int> Realm::SamplingProfilerImpl::next_sampler_id
protected

◆ output_fd

int Realm::SamplingProfilerImpl::output_fd
protected

◆ sampler_head

GaugeSampler* Realm::SamplingProfilerImpl::sampler_head
protected

◆ sampler_tail

GaugeSampler** Realm::SamplingProfilerImpl::sampler_tail
protected

◆ sampling_start

ProfilingGauges::AbsoluteGauge<long long>* Realm::SamplingProfilerImpl::sampling_start
protected

◆ sampling_thread

Thread* Realm::SamplingProfilerImpl::sampling_thread
protected

◆ sampling_time

ProfilingGauges::EventCounter<long long>* Realm::SamplingProfilerImpl::sampling_time
protected

The documentation for this class was generated from the following file: