src/performance_counters/counter_creators.cpp
naming::gid_type locality_raw_counter_creator(counter_info const& info,
        hpx::util::function_nonser<std::int64_t(bool)> const& f, error_code& ec)
    {
        // verify the validity of the counter instance name
        counter_path_elements paths;
        get_counter_path_elements(info.fullname_, paths, ec);
        if (ec) return naming::invalid_gid;

        if (paths.parentinstance_is_basename_) {
            HPX_THROWS_IF(ec, bad_parameter, "locality_raw_counter_creator",
                "invalid counter instance parent name: " +
                    paths.parentinstancename_);
            return naming::invalid_gid;
        }

        if (paths.instancename_ == "total" && paths.instanceindex_ == -1)
            return detail::create_raw_counter(info, f, ec);   // overall counter

        HPX_THROWS_IF(ec, bad_parameter, "locality_raw_counter_creator",
            "invalid counter instance name: " + paths.instancename_);
        return naming::invalid_gid;
    }
///////////////////////////////////////////////////////////////////////////
/// Creation function for raw counters. The passed function is encapsulating
/// the actual value to monitor. This function checks the validity of the
/// supplied counter name, it has to follow the scheme:
///
///   /<objectname>{locality#<locality_id>/total}/<instancename>
///
Creation function for raw counters. The passed function is encapsulating
the actual value to monitor. This function checks the validity of the
supplied counter name, it has to follow the scheme.

{locality#/total}/
Creation function for raw counters . The passed function is encapsulating the actual value to monitor . This function checks the validity of the supplied counter name it has to follow the scheme . { locality# / total } /
naming::gid_type locality_raw_counter_creator(counter_info const& info,
        hpx::util::function_nonser<std::int64_t(bool)> const& f, error_code& ec)
    {
        counter_path_elements paths;
        get_counter_path_elements(info.fullname_, paths, ec);
        if (ec) return naming::invalid_gid;
        if (paths.parentinstance_is_basename_) {
            HPX_THROWS_IF(ec, bad_parameter, "locality_raw_counter_creator",
                "invalid counter instance parent name: " +
                    paths.parentinstancename_);
            return naming::invalid_gid;
        }
        if (paths.instancename_ == "total" && paths.instanceindex_ == -1)
            return detail::create_raw_counter(info, f, ec);   
        HPX_THROWS_IF(ec, bad_parameter, "locality_raw_counter_creator",
            "invalid counter instance name: " + paths.instancename_);
        return naming::invalid_gid;
    }
naming :: gid_type locality_raw_counter_creator ( counter_info const & info , hpx :: util :: function_nonser < std :: int64_t ( bool ) > const & f , error_code & ec ) { counter_path_elements paths ; get_counter_path_elements ( info . fullname_ , paths , ec ) ; if ( ec ) return naming :: invalid_gid ; if ( paths . parentinstance_is_basename_ ) { HPX_THROWS_IF ( ec , bad_parameter , " " , " " + paths . parentinstancename_ ) ; return naming :: invalid_gid ; } if ( paths . instancename_ == " " && paths . instanceindex_ == -1 ) return detail :: create_raw_counter ( info , f , ec ) ; HPX_THROWS_IF ( ec , bad_parameter , " " , " " + paths . instancename_ ) ; return naming :: invalid_gid ; }
Creation function for raw counters.
Creation function for raw counters .
// verify the validity of the counter instance name // overall counter