Skip to content

Commit f81f8bd

Browse files
committed
Remove static inline which is C++ 17
1 parent 9c6fb5e commit f81f8bd

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

sdk/include/opentelemetry/sdk/metrics/state/async_metric_storage.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ class AsyncMetricStorage : public MetricStorage, public AsyncWritableMetricStora
4343
const AggregationConfig *aggregation_config)
4444
: instrument_descriptor_(instrument_descriptor),
4545
aggregation_type_{aggregation_type},
46-
aggregation_config_{aggregation_config ? aggregation_config : &default_aggregation_config_},
46+
aggregation_config_{aggregation_config ? aggregation_config : &GetDefaultAggregationConfig()},
4747
cumulative_hash_map_(
4848
std::make_unique<AttributesHashMap>(aggregation_config_->cardinality_limit_)),
4949
delta_hash_map_(
@@ -139,7 +139,10 @@ class AsyncMetricStorage : public MetricStorage, public AsyncWritableMetricStora
139139
}
140140

141141
private:
142-
static inline const AggregationConfig default_aggregation_config_{};
142+
static const AggregationConfig& GetDefaultAggregationConfig() {
143+
static const AggregationConfig default_config{};
144+
return default_config;
145+
}
143146
InstrumentDescriptor instrument_descriptor_;
144147
AggregationType aggregation_type_;
145148
const AggregationConfig *aggregation_config_;

sdk/include/opentelemetry/sdk/metrics/state/sync_metric_storage.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ class SyncMetricStorage : public MetricStorage, public SyncWritableMetricStorage
6666
#endif
6767
const AggregationConfig *aggregation_config)
6868
: instrument_descriptor_(instrument_descriptor),
69-
aggregation_config_(aggregation_config ? aggregation_config : &default_aggregation_config_),
69+
aggregation_config_(aggregation_config ? aggregation_config : &GetDefaultAggregationConfig()),
7070
attributes_hashmap_(
7171
std::make_unique<AttributesHashMap>(aggregation_config_->cardinality_limit_)),
7272
attributes_processor_(std::move(attributes_processor)),
@@ -173,7 +173,10 @@ class SyncMetricStorage : public MetricStorage, public SyncWritableMetricStorage
173173
nostd::function_ref<bool(MetricData)> callback) noexcept override;
174174

175175
private:
176-
static inline const AggregationConfig default_aggregation_config_{};
176+
static const AggregationConfig& GetDefaultAggregationConfig() {
177+
static const AggregationConfig default_config{};
178+
return default_config;
179+
}
177180
InstrumentDescriptor instrument_descriptor_;
178181
// hashmap to maintain the metrics for delta collection (i.e, collection since last Collect call)
179182
const AggregationConfig *aggregation_config_;

0 commit comments

Comments
 (0)