Skip to content

Commit 7dde674

Browse files
committed
Move GetOrDefault to AggregationConfig
1 parent 274614c commit 7dde674

File tree

3 files changed

+13
-14
lines changed

3 files changed

+13
-14
lines changed

sdk/include/opentelemetry/sdk/metrics/aggregation/aggregation_config.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,17 @@ class AggregationConfig
1919
AggregationConfig(size_t cardinality_limit = kAggregationCardinalityLimit)
2020
: cardinality_limit_(cardinality_limit)
2121
{}
22+
23+
static const AggregationConfig *GetOrDefault(const AggregationConfig *config)
24+
{
25+
if (config)
26+
{
27+
return config;
28+
}
29+
static const AggregationConfig default_config{};
30+
return &default_config;
31+
}
32+
2233
size_t cardinality_limit_;
2334
virtual ~AggregationConfig() = default;
2435
};

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

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +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
47-
: &GetDefaultAggregationConfig()},
46+
aggregation_config_{AggregationConfig::GetOrDefault(aggregation_config)},
4847
cumulative_hash_map_(
4948
std::make_unique<AttributesHashMap>(aggregation_config_->cardinality_limit_)),
5049
delta_hash_map_(
@@ -140,11 +139,6 @@ class AsyncMetricStorage : public MetricStorage, public AsyncWritableMetricStora
140139
}
141140

142141
private:
143-
static const AggregationConfig &GetDefaultAggregationConfig()
144-
{
145-
static const AggregationConfig default_config{};
146-
return default_config;
147-
}
148142
InstrumentDescriptor instrument_descriptor_;
149143
AggregationType aggregation_type_;
150144
const AggregationConfig *aggregation_config_;

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

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +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
70-
: &GetDefaultAggregationConfig()),
69+
aggregation_config_(AggregationConfig::GetOrDefault(aggregation_config)),
7170
attributes_hashmap_(
7271
std::make_unique<AttributesHashMap>(aggregation_config_->cardinality_limit_)),
7372
attributes_processor_(std::move(attributes_processor)),
@@ -174,11 +173,6 @@ class SyncMetricStorage : public MetricStorage, public SyncWritableMetricStorage
174173
nostd::function_ref<bool(MetricData)> callback) noexcept override;
175174

176175
private:
177-
static const AggregationConfig &GetDefaultAggregationConfig()
178-
{
179-
static const AggregationConfig default_config{};
180-
return default_config;
181-
}
182176
InstrumentDescriptor instrument_descriptor_;
183177
// hashmap to maintain the metrics for delta collection (i.e, collection since last Collect call)
184178
const AggregationConfig *aggregation_config_;

0 commit comments

Comments
 (0)