diff --git a/exporters/ostream/test/ostream_metric_test.cc b/exporters/ostream/test/ostream_metric_test.cc index 51b9882c47..9e98dd4da4 100644 --- a/exporters/ostream/test/ostream_metric_test.cc +++ b/exporters/ostream/test/ostream_metric_test.cc @@ -35,11 +35,11 @@ TEST(OStreamMetricsExporter, ExportSumPointData) record->instrumentation_library_ = instrumentation_library.get(); record->point_data_ = metric_sdk::SumPointData{ opentelemetry::common::SystemTimestamp{}, opentelemetry::common::SystemTimestamp{}, 10.0, - metric_sdk::AggregationTemporarily::kUnspecified, false}; + metric_sdk::AggregationTemporality::kUnspecified, false}; auto record2 = std::unique_ptr(new metric_sdk::MetricData(*record)); record2->point_data_ = metric_sdk::SumPointData{ opentelemetry::common::SystemTimestamp{}, opentelemetry::common::SystemTimestamp{}, 20l, - metric_sdk::AggregationTemporarily::kUnspecified, false}; + metric_sdk::AggregationTemporality::kUnspecified, false}; std::vector> records; records.push_back(std::move(record)); records.push_back(std::move(record2)); diff --git a/sdk/include/opentelemetry/sdk/metrics/aggregation/sum_aggregation.h b/sdk/include/opentelemetry/sdk/metrics/aggregation/sum_aggregation.h index c8b2eff33c..ff99cec733 100644 --- a/sdk/include/opentelemetry/sdk/metrics/aggregation/sum_aggregation.h +++ b/sdk/include/opentelemetry/sdk/metrics/aggregation/sum_aggregation.h @@ -25,7 +25,7 @@ static inline void PopulateSumPointData(SumPointData &sum, sum.end_epoch_nanos_ = end_ts; sum.value_ = value; sum.is_monotonic_ = is_monotonic; - sum.aggregation_temporarily_ = AggregationTemporarily::kDelta; + sum.aggregation_temporality_ = AggregationTemporality::kDelta; } class LongSumAggregation : public Aggregation, InstrumentMonotonicityAwareAggregation diff --git a/sdk/include/opentelemetry/sdk/metrics/data/point_data.h b/sdk/include/opentelemetry/sdk/metrics/data/point_data.h index 603bcc30bc..5bbcbd0b1e 100644 --- a/sdk/include/opentelemetry/sdk/metrics/data/point_data.h +++ b/sdk/include/opentelemetry/sdk/metrics/data/point_data.h @@ -25,7 +25,7 @@ class SumPointData opentelemetry::common::SystemTimestamp start_epoch_nanos_; opentelemetry::common::SystemTimestamp end_epoch_nanos_; ValueType value_; - AggregationTemporarily aggregation_temporarily_; + AggregationTemporality aggregation_temporality_; bool is_monotonic_; }; diff --git a/sdk/include/opentelemetry/sdk/metrics/instruments.h b/sdk/include/opentelemetry/sdk/metrics/instruments.h index ad64ce718b..15e6a25705 100644 --- a/sdk/include/opentelemetry/sdk/metrics/instruments.h +++ b/sdk/include/opentelemetry/sdk/metrics/instruments.h @@ -36,7 +36,7 @@ enum class AggregationType kDefault }; -enum class AggregationTemporarily +enum class AggregationTemporality { kUnspecified, kDelta, diff --git a/sdk/include/opentelemetry/sdk/metrics/measurement_processor.h b/sdk/include/opentelemetry/sdk/metrics/measurement_processor.h deleted file mode 100644 index f3b998451b..0000000000 --- a/sdk/include/opentelemetry/sdk/metrics/measurement_processor.h +++ /dev/null @@ -1,124 +0,0 @@ -// Copyright The OpenTelemetry Authors -// SPDX-License-Identifier: Apache-2.0 - -#pragma once -#include -#ifndef ENABLE_METRICS_PREVIEW - -# include -# include "opentelemetry/common/key_value_iterable_view.h" -# include "opentelemetry/sdk/metrics/exemplar/no_exemplar_reservoir.h" -# include "opentelemetry/sdk/metrics/instruments.h" -# include "opentelemetry/sdk/metrics/metric_reader.h" -# include "opentelemetry/sdk/metrics/state/sync_metric_storage.h" -# include "opentelemetry/sdk/metrics/view/attributes_processor.h" - -OPENTELEMETRY_BEGIN_NAMESPACE -namespace sdk -{ -namespace metrics -{ - -static std::size_t MakeKey(const MetricReader &metric_reader) -{ - return reinterpret_cast(&metric_reader); -} - -class MeasurementProcessor -{ -public: - virtual void RecordLong(long value, const opentelemetry::context::Context &context) noexcept = 0; - - virtual void RecordLong(long value, - const opentelemetry::common::KeyValueIterable &attributes, - const opentelemetry::context::Context &context) noexcept = 0; - - virtual void RecordDouble(double value, - const opentelemetry::context::Context &context) noexcept = 0; - - virtual void RecordDouble(double value, - const opentelemetry::common::KeyValueIterable &attributes, - const opentelemetry::context::Context &context) noexcept = 0; - - virtual bool Collect(MetricReader &reader, - AggregationTemporarily aggregation_temporarily, - nostd::function_ref callback) noexcept = 0; -}; - -class DefaultMeasurementProcessor : public MeasurementProcessor -{ -public: - bool AddMetricStorage(const MetricReader &reader) - { - // TBD Check if already present - // pass intrumentation type, and aggregation type instead of hardcodig below. - InstrumentDescriptor instr_desc = {"name", "desc", "1unit", InstrumentType::kCounter, - InstrumentValueType::kLong}; - metric_storages_[MakeKey(reader)] = std::unique_ptr( - new SyncMetricStorage(instr_desc, AggregationType::kSum, new DefaultAttributesProcessor(), - NoExemplarReservoir::GetNoExemplarReservoir())); - return true; - } - - virtual void RecordLong(long value, - const opentelemetry::context::Context &context) noexcept override - { - for (const auto &kv : metric_storages_) - { - kv.second->RecordLong(value, context); - } - } - - virtual void RecordLong(long value, - const opentelemetry::common::KeyValueIterable &attributes, - const opentelemetry::context::Context &context) noexcept override - { - for (const auto &kv : metric_storages_) - { - kv.second->RecordLong(value, attributes, context); - } - } - - virtual void RecordDouble(double value, - const opentelemetry::context::Context &context) noexcept override - { - for (const auto &kv : metric_storages_) - { - kv.second->RecordDouble(value, context); - } - } - - virtual void RecordDouble(double value, - const opentelemetry::common::KeyValueIterable &attributes, - const opentelemetry::context::Context &context) noexcept override - { - for (const auto &kv : metric_storages_) - { - kv.second->RecordDouble(value, attributes, context); - } - } - - bool Collect(MetricReader &reader, - AggregationTemporarily aggregation_temporarily, - nostd::function_ref callback) noexcept override - { - auto i = metric_storages_.find(MakeKey(reader)); - - // TBD - Remove hardcodings below - std::vector collectors; - if (i != metric_storages_.end()) - { - - return i->second->Collect(nullptr, collectors, nullptr, nullptr, callback); - } - return false; - } - -private: - std::map> metric_storages_; -}; - -} // namespace metrics -} // namespace sdk -OPENTELEMETRY_END_NAMESPACE -#endif \ No newline at end of file diff --git a/sdk/include/opentelemetry/sdk/metrics/metric_exporter.h b/sdk/include/opentelemetry/sdk/metrics/metric_exporter.h index 96898c9ad1..3769259472 100644 --- a/sdk/include/opentelemetry/sdk/metrics/metric_exporter.h +++ b/sdk/include/opentelemetry/sdk/metrics/metric_exporter.h @@ -51,7 +51,7 @@ class MetricExporter std::chrono::microseconds timeout = std::chrono::microseconds(0)) noexcept = 0; private: - AggregationTemporarily aggregation_temporarily; + AggregationTemporality aggregation_temporality_; }; } // namespace metrics } // namespace sdk diff --git a/sdk/include/opentelemetry/sdk/metrics/metric_reader.h b/sdk/include/opentelemetry/sdk/metrics/metric_reader.h index fdd5d41291..1f7cee8d30 100644 --- a/sdk/include/opentelemetry/sdk/metrics/metric_reader.h +++ b/sdk/include/opentelemetry/sdk/metrics/metric_reader.h @@ -27,7 +27,7 @@ class MetricReader { public: MetricReader( - AggregationTemporarily aggregation_temporarily = AggregationTemporarily::kCummulative); + AggregationTemporality aggregation_temporality = AggregationTemporality::kCummulative); void SetMetricProducer(MetricProducer *metric_producer); @@ -37,7 +37,7 @@ class MetricReader */ bool Collect(nostd::function_ref callback) noexcept; - AggregationTemporarily GetAggregationTemporarily() const noexcept; + AggregationTemporality GetAggregationTemporality() const noexcept; /** * Shutdown the meter reader. @@ -62,7 +62,7 @@ class MetricReader private: MetricProducer *metric_producer_; - AggregationTemporarily aggregation_temporarily_; + AggregationTemporality aggregation_temporality_; mutable opentelemetry::common::SpinLockMutex lock_; bool shutdown_; }; diff --git a/sdk/include/opentelemetry/sdk/metrics/state/metric_collector.h b/sdk/include/opentelemetry/sdk/metrics/state/metric_collector.h index 3049440d9d..51c9cf6eff 100644 --- a/sdk/include/opentelemetry/sdk/metrics/state/metric_collector.h +++ b/sdk/include/opentelemetry/sdk/metrics/state/metric_collector.h @@ -18,7 +18,7 @@ class MeterContext; class CollectorHandle { public: - virtual AggregationTemporarily GetAggregationTemporarily() noexcept = 0; + virtual AggregationTemporality GetAggregationTemporality() noexcept = 0; }; /** @@ -33,7 +33,7 @@ class MetricCollector : public MetricProducer, public CollectorHandle MetricCollector(std::shared_ptr &&context, std::unique_ptr metric_reader); - AggregationTemporarily GetAggregationTemporarily() noexcept override; + AggregationTemporality GetAggregationTemporality() noexcept override; /** * The callback to be called for each metric exporter. This will only be those diff --git a/sdk/src/metrics/metric_reader.cc b/sdk/src/metrics/metric_reader.cc index 71aedc227f..8238ad2a55 100644 --- a/sdk/src/metrics/metric_reader.cc +++ b/sdk/src/metrics/metric_reader.cc @@ -13,8 +13,8 @@ namespace sdk namespace metrics { -MetricReader::MetricReader(AggregationTemporarily aggregation_temporarily) - : aggregation_temporarily_(aggregation_temporarily) +MetricReader::MetricReader(AggregationTemporality aggregation_temporality) + : aggregation_temporality_(aggregation_temporality) {} void MetricReader::SetMetricProducer(MetricProducer *metric_producer) @@ -22,9 +22,9 @@ void MetricReader::SetMetricProducer(MetricProducer *metric_producer) metric_producer_ = metric_producer; } -AggregationTemporarily MetricReader::GetAggregationTemporarily() const noexcept +AggregationTemporality MetricReader::GetAggregationTemporality() const noexcept { - return aggregation_temporarily_; + return aggregation_temporality_; } bool MetricReader::Collect(nostd::function_ref callback) noexcept diff --git a/sdk/src/metrics/state/metric_collector.cc b/sdk/src/metrics/state/metric_collector.cc index a52c6e9b1c..5b9fc4ab70 100644 --- a/sdk/src/metrics/state/metric_collector.cc +++ b/sdk/src/metrics/state/metric_collector.cc @@ -24,9 +24,9 @@ MetricCollector::MetricCollector( metric_reader_->SetMetricProducer(this); } -AggregationTemporarily MetricCollector::GetAggregationTemporarily() noexcept +AggregationTemporality MetricCollector::GetAggregationTemporality() noexcept { - return metric_reader_->GetAggregationTemporarily(); + return metric_reader_->GetAggregationTemporality(); } bool MetricCollector::Collect(nostd::function_ref callback) noexcept diff --git a/sdk/test/metrics/async_metric_storage_test.cc b/sdk/test/metrics/async_metric_storage_test.cc index fd7d24c6f3..0527c7f0ca 100644 --- a/sdk/test/metrics/async_metric_storage_test.cc +++ b/sdk/test/metrics/async_metric_storage_test.cc @@ -21,7 +21,7 @@ using namespace opentelemetry::sdk::resource; class MockMetricReader : public MetricReader { public: - MockMetricReader(AggregationTemporarily aggr_temporarily) : MetricReader(aggr_temporarily) {} + MockMetricReader(AggregationTemporality aggr_temporality) : MetricReader(aggr_temporality) {} virtual bool OnForceFlush(std::chrono::microseconds timeout) noexcept override { return true; } @@ -44,7 +44,7 @@ TEST(AsyncMetricStorageTest, BasicTests) std::vector> exporters; std::shared_ptr meter_context(new MeterContext(std::move(exporters))); - std::unique_ptr metric_reader(new MockMetricReader(AggregationTemporarily::kDelta)); + std::unique_ptr metric_reader(new MockMetricReader(AggregationTemporality::kDelta)); std::shared_ptr collector = std::shared_ptr( new MetricCollector(std::move(meter_context), std::move(metric_reader))); diff --git a/sdk/test/metrics/metric_reader_test.cc b/sdk/test/metrics/metric_reader_test.cc index d0f7c14981..214f522118 100644 --- a/sdk/test/metrics/metric_reader_test.cc +++ b/sdk/test/metrics/metric_reader_test.cc @@ -14,7 +14,7 @@ using namespace opentelemetry::sdk::metrics; class MockMetricReader : public MetricReader { public: - MockMetricReader(AggregationTemporarily aggr_temporarily) : MetricReader(aggr_temporarily) {} + MockMetricReader(AggregationTemporality aggr_temporality) : MetricReader(aggr_temporality) {} virtual bool OnForceFlush(std::chrono::microseconds timeout) noexcept override { return true; } @@ -25,15 +25,15 @@ class MockMetricReader : public MetricReader TEST(MetricReaderTest, BasicTests) { - AggregationTemporarily aggr_temporarily = AggregationTemporarily::kDelta; - std::unique_ptr metric_reader1(new MockMetricReader(aggr_temporarily)); - EXPECT_EQ(metric_reader1->GetAggregationTemporarily(), aggr_temporarily); + AggregationTemporality aggr_temporality = AggregationTemporality::kDelta; + std::unique_ptr metric_reader1(new MockMetricReader(aggr_temporality)); + EXPECT_EQ(metric_reader1->GetAggregationTemporality(), aggr_temporality); std::vector> exporters; std::shared_ptr meter_context1(new MeterContext(std::move(exporters))); EXPECT_NO_THROW(meter_context1->AddMetricReader(std::move(metric_reader1))); - std::unique_ptr metric_reader2(new MockMetricReader(aggr_temporarily)); + std::unique_ptr metric_reader2(new MockMetricReader(aggr_temporality)); std::shared_ptr meter_context2(new MeterContext(std::move(exporters))); MetricProducer *metric_producer = new MetricCollector(std::move(meter_context2), std::move(metric_reader2));