hpx/performance_counters/server/statistics_counter.hpp

See Public API for a list of names and headers that are part of the public HPX API.

namespace hpx
namespace performance_counters
namespace server
template<typename Statistic>
class statistics_counter : public hpx::performance_counters::server::base_performance_counter, public components::component_base<statistics_counter<Statistic>>

Public Types

typedef statistics_counter type_holder
typedef base_performance_counter base_type_holder

Public Functions

statistics_counter()
statistics_counter(counter_info const &info, std::string const &base_counter_name, std::size_t parameter1, std::size_t parameter2, bool reset_base_counter)
hpx::performance_counters::counter_value get_counter_value(bool reset = false)

Overloads from the base_counter base class.

bool start()
bool stop()
void reset_counter_value()
void on_terminate()
void finalize()
naming::address get_current_address() const

Protected Functions

bool evaluate_base_counter(counter_value &value)
bool evaluate()
bool ensure_base_counter()

Private Types

typedef components::component_base<statistics_counter<Statistic>> base_type
typedef hpx::spinlock mutex_type

Private Functions

constexpr statistics_counter *this_()

Private Members

mutex_type mtx_
hpx::util::interval_timer timer_
std::string base_counter_name_
hpx::id_type base_counter_id_
std::unique_ptr<detail::counter_type_from_statistic_base> value_
counter_value prev_value_
bool has_prev_value_
std::size_t parameter1_
std::size_t parameter2_
bool reset_base_counter_