![]() |
hpx::performance_counters::install_counter_type — Install a new generic performance counter type in a way, which will uninstall it automatically during shutdown.
// In header: <hpx/performance_counters/manage_counter_type.hpp> counter_status install_counter_type(std::string const & name, std::function< boost::int64_t(bool)> const & counter_value, std::string const & helptext = "", std::string const & uom = "", error_code & ec = throws);
The function install_counter_type will register a new generic counter type based on the provided function. The counter type will be automatically unregistered during system shutdown. Any consumer querying any instance of this this counter type will cause the provided function to be called and the returned value to be exposed as the counter value.
The counter type is registered such that there can be one counter instance per locality. The expected naming scheme for the counter instances is: '/objectname{locality#<*>/total}/countername'
where '<*>' is a zero based integer identifying the locality the counter is created on.
![]() |
Note |
---|---|
As long as ec is not pre-initialized to hpx::throws this function doesn't throw but returns the result code using the parameter ec. Otherwise it throws an instance of |
![]() |
Note |
---|---|
The counter type registry is a locality based service. You will have to register each counter type on every locality where a corresponding performance counter will be created. |
Parameters: |
|
||||||||||
Returns: |
If successful, this function returns status_valid_data, otherwise it will either throw an exception or return an error_code from the enum counter_status (also, see note related to parameter ec). |