From 9e4598a8e31c5916654fbf8850057892be4dd1bf Mon Sep 17 00:00:00 2001 From: psx95 Date: Sat, 22 Mar 2025 06:55:43 -0400 Subject: [PATCH 1/4] Use static local variables for MeterConfig --- sdk/include/opentelemetry/sdk/metrics/meter_config.h | 2 -- sdk/src/metrics/meter_config.cc | 7 +++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/metrics/meter_config.h b/sdk/include/opentelemetry/sdk/metrics/meter_config.h index abb22154d2..6d37724e08 100644 --- a/sdk/include/opentelemetry/sdk/metrics/meter_config.h +++ b/sdk/include/opentelemetry/sdk/metrics/meter_config.h @@ -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/src/metrics/meter_config.cc b/sdk/src/metrics/meter_config.cc index cef0d60da1..09d01e3fb8 100644 --- a/sdk/src/metrics/meter_config.cc +++ b/sdk/src/metrics/meter_config.cc @@ -8,9 +8,6 @@ namespace sdk namespace metrics { -const MeterConfig MeterConfig::kDefaultConfig = MeterConfig(); -const MeterConfig MeterConfig::kDisabledConfig = MeterConfig(true); - bool MeterConfig::operator==(const MeterConfig &other) const noexcept { return disabled_ == other.disabled_; @@ -23,16 +20,18 @@ bool MeterConfig::IsEnabled() const noexcept MeterConfig MeterConfig::Disabled() { + static const auto kDisabledConfig = MeterConfig(true); return kDisabledConfig; } MeterConfig MeterConfig::Enabled() { - return kDefaultConfig; + return Default(); } MeterConfig MeterConfig::Default() { + static const auto kDefaultConfig = MeterConfig(); return kDefaultConfig; } From f89f20b28120127197cfd200b9e7ad1591f35e55 Mon Sep 17 00:00:00 2001 From: psx95 Date: Sat, 22 Mar 2025 07:18:17 -0400 Subject: [PATCH 2/4] Add OPENTELEMETRY_EXPORT to member functions of meter_config --- sdk/include/opentelemetry/sdk/metrics/meter_config.h | 2 +- sdk/src/metrics/meter_config.cc | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/metrics/meter_config.h b/sdk/include/opentelemetry/sdk/metrics/meter_config.h index 6d37724e08..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; diff --git a/sdk/src/metrics/meter_config.cc b/sdk/src/metrics/meter_config.cc index 09d01e3fb8..85f7d4caf7 100644 --- a/sdk/src/metrics/meter_config.cc +++ b/sdk/src/metrics/meter_config.cc @@ -8,28 +8,28 @@ namespace sdk namespace metrics { -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 Default(); } -MeterConfig MeterConfig::Default() +OPENTELEMETRY_EXPORT MeterConfig MeterConfig::Default() { static const auto kDefaultConfig = MeterConfig(); return kDefaultConfig; From 204a259317e5dd57d98d1efadc176e179560e4a4 Mon Sep 17 00:00:00 2001 From: psx95 Date: Sat, 22 Mar 2025 12:24:50 -0400 Subject: [PATCH 3/4] Use static local variables for TracerConfig --- sdk/include/opentelemetry/sdk/trace/tracer_config.h | 2 -- sdk/src/trace/tracer_config.cc | 7 +++---- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/trace/tracer_config.h b/sdk/include/opentelemetry/sdk/trace/tracer_config.h index 708d05b5e8..fdccc5bd42 100644 --- a/sdk/include/opentelemetry/sdk/trace/tracer_config.h +++ b/sdk/include/opentelemetry/sdk/trace/tracer_config.h @@ -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/trace/tracer_config.cc b/sdk/src/trace/tracer_config.cc index 8c9dd93652..ecebc483a1 100644 --- a/sdk/src/trace/tracer_config.cc +++ b/sdk/src/trace/tracer_config.cc @@ -9,21 +9,20 @@ namespace sdk namespace trace { -const TracerConfig TracerConfig::kDefaultConfig = TracerConfig(); -const TracerConfig TracerConfig::kDisabledConfig = TracerConfig(true); - TracerConfig TracerConfig::Disabled() { + static const auto kDisabledConfig = TracerConfig(true); return kDisabledConfig; } TracerConfig TracerConfig::Enabled() { - return kDefaultConfig; + return Default(); } TracerConfig TracerConfig::Default() { + static const auto kDefaultConfig = TracerConfig(); return kDefaultConfig; } From 7a0054a20d3cad7c2cdcc1c722a326d93ef80d02 Mon Sep 17 00:00:00 2001 From: psx95 Date: Sat, 22 Mar 2025 12:35:25 -0400 Subject: [PATCH 4/4] Add OPENTELEMETRY_EXPORT to member functions of tracer_config --- sdk/include/opentelemetry/sdk/trace/tracer_config.h | 2 +- sdk/src/trace/tracer_config.cc | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sdk/include/opentelemetry/sdk/trace/tracer_config.h b/sdk/include/opentelemetry/sdk/trace/tracer_config.h index fdccc5bd42..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; diff --git a/sdk/src/trace/tracer_config.cc b/sdk/src/trace/tracer_config.cc index ecebc483a1..f32c2d78e1 100644 --- a/sdk/src/trace/tracer_config.cc +++ b/sdk/src/trace/tracer_config.cc @@ -9,29 +9,29 @@ namespace sdk namespace trace { -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 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_; }