7 #include "opentelemetry/sdk/instrumentationscope/instrumentation_scope.h"
8 #include "opentelemetry/version.h"
13 namespace instrumentationscope
36 explicit Builder(T default_scope_config) noexcept : default_scope_config_(default_scope_config)
51 conditions_.emplace_back(scope_matcher, scope_config);
67 return scope_info.GetName() == scope_name;
69 conditions_.emplace_back(name_equals_matcher, scope_config);
80 if (conditions_.size() == 0)
84 return default_scope_config_;
90 [conditions_ = this->conditions_, default_scope_config_ = this->default_scope_config_](
92 for (Condition condition : conditions_)
94 if (condition.scope_matcher(scope_info))
96 return condition.scope_config;
99 return default_scope_config_;
115 : scope_matcher(matcher), scope_config(config)
119 T default_scope_config_;
120 std::vector<Condition> conditions_;
132 return this->configurator_(scope_info);
138 : configurator_(configurator)
141 std::function<T(
const InstrumentationScope &)> configurator_;