Template Class ScopeConfigurator
Defined in File scope_configurator.h
Nested Relationships
Nested Types
Class Documentation
-
template<typename T>
class ScopeConfigurator A scope configurator is a function that returns the scope config for a given instrumentation scope.
Public Functions
-
inline T ComputeConfig(const InstrumentationScope &scope_info) const
Invokes the underlying configurator function to get a valid scope configuration.
- Parameters:
scope_info – The InstrumentationScope containing scope information for which configuration needs to be retrieved.
-
class Builder
A builder class for the ScopeConfigurator that facilitates the creation of ScopeConfigurators.
Public Functions
-
inline explicit Builder(T default_scope_config) noexcept
Constructor for a builder object that cam be used to create a scope configurator. A minimally configured builder would build a ScopeConfigurator that applies the default_scope_config to every instrumentation scope.
- Parameters:
default_scope_config – The default scope config that the built configurator should fall back on.
-
inline Builder &AddCondition(std::function<bool(const InstrumentationScope&)> scope_matcher, T scope_config)
Allows the user to pass a generic function that evaluates an instrumentation scope through a boolean check. If the check passes, the provided config is applied. Conditions are evaluated in order.
- Parameters:
scope_matcher – a function that returns true if the scope being evaluated matches the criteria defined by the function.
scope_config – the scope configuration to return for the matched scope.
- Returns:
this
-
inline Builder &AddConditionNameEquals(nostd::string_view scope_name, T scope_config)
A convenience condition that specifically matches the scope name of the scope being evaluated. If the scope name matches to the provided string, then the provided scope configuration is applied to the scope.
- Parameters:
scope_name – The scope name to which the config needs to be applied.
scope_config – The scope config for the matching scopes.
- Returns:
this
-
inline ScopeConfigurator<T> Build() const
Constructs the scope configurator object that can be used to retrieve scope config depending on the instrumentation scope.
- Returns:
a configured scope configurator.
-
inline explicit Builder(T default_scope_config) noexcept
-
inline T ComputeConfig(const InstrumentationScope &scope_info) const