diff --git a/sdk/include/opentelemetry/sdk/metrics/meter_config.h b/sdk/include/opentelemetry/sdk/metrics/meter_config.h index abb22154d2..3523230e1c 100644 --- a/sdk/include/opentelemetry/sdk/metrics/meter_config.h +++ b/sdk/include/opentelemetry/sdk/metrics/meter_config.h @@ -16,7 +16,7 @@ namespace metrics * ScopeConfigurator should be used to compute the desired MeterConfig which can then be used to * configure a Meter. */ -class MeterConfig +class OPENTELEMETRY_EXPORT MeterConfig { public: bool operator==(const MeterConfig &other) const noexcept; @@ -51,8 +51,6 @@ class MeterConfig private: explicit MeterConfig(const bool disabled = false) : disabled_(disabled) {} bool disabled_; - static const MeterConfig kDefaultConfig; - static const MeterConfig kDisabledConfig; }; } // namespace metrics } // namespace sdk diff --git a/sdk/include/opentelemetry/sdk/trace/tracer_config.h b/sdk/include/opentelemetry/sdk/trace/tracer_config.h index 708d05b5e8..3fa5a144d3 100644 --- a/sdk/include/opentelemetry/sdk/trace/tracer_config.h +++ b/sdk/include/opentelemetry/sdk/trace/tracer_config.h @@ -16,7 +16,7 @@ namespace trace * ScopeConfigurator should be used to compute the desired TracerConfig which can then be used to * configure a Tracer. */ -class TracerConfig +class OPENTELEMETRY_EXPORT TracerConfig { public: bool operator==(const TracerConfig &other) const noexcept; @@ -51,8 +51,6 @@ class TracerConfig private: explicit TracerConfig(const bool disabled = false) : disabled_(disabled) {} bool disabled_; - static const TracerConfig kDefaultConfig; - static const TracerConfig kDisabledConfig; }; } // namespace trace } // namespace sdk diff --git a/sdk/src/metrics/meter_config.cc b/sdk/src/metrics/meter_config.cc index cef0d60da1..85f7d4caf7 100644 --- a/sdk/src/metrics/meter_config.cc +++ b/sdk/src/metrics/meter_config.cc @@ -8,31 +8,30 @@ namespace sdk namespace metrics { -const MeterConfig MeterConfig::kDefaultConfig = MeterConfig(); -const MeterConfig MeterConfig::kDisabledConfig = MeterConfig(true); - -bool MeterConfig::operator==(const MeterConfig &other) const noexcept +OPENTELEMETRY_EXPORT bool MeterConfig::operator==(const MeterConfig &other) const noexcept { return disabled_ == other.disabled_; } -bool MeterConfig::IsEnabled() const noexcept +OPENTELEMETRY_EXPORT bool MeterConfig::IsEnabled() const noexcept { return !disabled_; } -MeterConfig MeterConfig::Disabled() +OPENTELEMETRY_EXPORT MeterConfig MeterConfig::Disabled() { + static const auto kDisabledConfig = MeterConfig(true); return kDisabledConfig; } -MeterConfig MeterConfig::Enabled() +OPENTELEMETRY_EXPORT MeterConfig MeterConfig::Enabled() { - return kDefaultConfig; + return Default(); } -MeterConfig MeterConfig::Default() +OPENTELEMETRY_EXPORT MeterConfig MeterConfig::Default() { + static const auto kDefaultConfig = MeterConfig(); return kDefaultConfig; } diff --git a/sdk/src/trace/tracer_config.cc b/sdk/src/trace/tracer_config.cc index 8c9dd93652..f32c2d78e1 100644 --- a/sdk/src/trace/tracer_config.cc +++ b/sdk/src/trace/tracer_config.cc @@ -9,30 +9,29 @@ namespace sdk namespace trace { -const TracerConfig TracerConfig::kDefaultConfig = TracerConfig(); -const TracerConfig TracerConfig::kDisabledConfig = TracerConfig(true); - -TracerConfig TracerConfig::Disabled() +OPENTELEMETRY_EXPORT TracerConfig TracerConfig::Disabled() { + static const auto kDisabledConfig = TracerConfig(true); return kDisabledConfig; } -TracerConfig TracerConfig::Enabled() +OPENTELEMETRY_EXPORT TracerConfig TracerConfig::Enabled() { - return kDefaultConfig; + return Default(); } -TracerConfig TracerConfig::Default() +OPENTELEMETRY_EXPORT TracerConfig TracerConfig::Default() { + static const auto kDefaultConfig = TracerConfig(); return kDefaultConfig; } -bool TracerConfig::IsEnabled() const noexcept +OPENTELEMETRY_EXPORT bool TracerConfig::IsEnabled() const noexcept { return !disabled_; } -bool TracerConfig::operator==(const TracerConfig &other) const noexcept +OPENTELEMETRY_EXPORT bool TracerConfig::operator==(const TracerConfig &other) const noexcept { return disabled_ == other.disabled_; }