hpx/performance_counters/registry.hpp

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

namespace hpx
namespace performance_counters
class registry

Public Functions

registry()
void clear()

Reset registry by deleting all stored counter types.

counter_status add_counter_type(counter_info const &info, create_counter_func const &create_counter, discover_counters_func const &discover_counters, error_code &ec = throws)

Add a new performance counter type to the (local) registry.

counter_status discover_counter_types(discover_counter_func discover_counter, discover_counters_mode mode, error_code &ec = throws)

Call the supplied function for all registered counter types.

counter_status discover_counter_type(std::string const &fullname, discover_counter_func discover_counter, discover_counters_mode mode, error_code &ec = throws)

Call the supplied function for the given registered counter type.

counter_status discover_counter_type(counter_info const &info, discover_counter_func const &f, discover_counters_mode mode, error_code &ec = throws)
counter_status get_counter_create_function(counter_info const &info, create_counter_func &create_counter, error_code &ec = throws) const

Retrieve the counter creation function which is associated with a given counter type.

counter_status get_counter_discovery_function(counter_info const &info, discover_counters_func &func, error_code &ec) const

Retrieve the counter discovery function which is associated with a given counter type.

counter_status remove_counter_type(counter_info const &info, error_code &ec = throws)

Remove an existing counter type from the (local) registry.

Note

This doesn’t remove existing counters of this type, it just inhibits defining new counters using this type.

counter_status create_raw_counter_value(counter_info const &info, std::int64_t *countervalue, naming::gid_type &id, error_code &ec = throws)

Create a new performance counter instance of type raw_counter based on given counter value.

counter_status create_raw_counter(counter_info const &info, hpx::function<std::int64_t()> const &fnaming::gid_type &id, error_code &ec = throws, )

Create a new performance counter instance of type raw_counter based on given function returning the counter value.

counter_status create_raw_counter(counter_info const &info, hpx::function<std::int64_t(bool)> const &f, naming::gid_type &id, error_code &ec = throws, )

Create a new performance counter instance of type raw_counter based on given function returning the counter value.

counter_status create_raw_counter(counter_info const &info, hpx::function<std::vector<std::int64_t>()> const &fnaming::gid_type &id, error_code &ec = throws, )

Create a new performance counter instance of type raw_counter based on given function returning the counter value.

counter_status create_raw_counter(counter_info const &info, hpx::function<std::vector<std::int64_t>(bool)> const &f, naming::gid_type &id, error_code &ec = throws, )

Create a new performance counter instance of type raw_counter based on given function returning the counter value.

counter_status create_counter(counter_info const &info, naming::gid_type &id, error_code &ec = throws)

Create a new performance counter instance based on given counter info.

counter_status create_statistics_counter(counter_info const &info, std::string const &base_counter_name, std::vector<std::size_t> const &parameters, naming::gid_type &id, error_code &ec = throws)

Create a new statistics performance counter instance based on given base counter name and given base time interval (milliseconds).

counter_status create_arithmetics_counter(counter_info const &info, std::vector<std::string> const &base_counter_names, naming::gid_type &id, error_code &ec = throws)

Create a new arithmetics performance counter instance based on given base counter names.

counter_status create_arithmetics_counter_extended(counter_info const &info, std::vector<std::string> const &base_counter_names, naming::gid_type &id, error_code &ec = throws)

Create a new extended arithmetics performance counter instance based on given base counter names.

counter_status add_counter(hpx::id_type const &id, counter_info const &info, error_code &ec = throws)

Add an existing performance counter instance to the registry.

counter_status remove_counter(counter_info const &info, hpx::id_type const &id, error_code &ec = throws)

remove the existing performance counter from the registry

counter_status get_counter_type(std::string const &name, counter_info &info, error_code &ec = throws)

Retrieve counter type information for given counter name.

Public Static Functions

static registry &instance()

Protected Functions

counter_type_map_type::iterator locate_counter_type(std::string const &type_name)
counter_type_map_type::const_iterator locate_counter_type(std::string const &type_name) const

Private Types

typedef std::map<std::string, counter_data> counter_type_map_type

Private Members

counter_type_map_type countertypes_
struct counter_data

Public Functions

counter_data(counter_info const &info, create_counter_func const &create_counter, discover_counters_func const &discover_counters)

Public Members

counter_info info_
create_counter_func create_counter_
discover_counters_func discover_counters_