summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/opentelemetry-cpp/sdk/test/metrics/observer_result_test.cc
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-21 11:54:28 +0000
commite6918187568dbd01842d8d1d2c808ce16a894239 (patch)
tree64f88b554b444a49f656b6c656111a145cbbaa28 /src/jaegertracing/opentelemetry-cpp/sdk/test/metrics/observer_result_test.cc
parentInitial commit. (diff)
downloadceph-e6918187568dbd01842d8d1d2c808ce16a894239.tar.xz
ceph-e6918187568dbd01842d8d1d2c808ce16a894239.zip
Adding upstream version 18.2.2.upstream/18.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/jaegertracing/opentelemetry-cpp/sdk/test/metrics/observer_result_test.cc')
-rw-r--r--src/jaegertracing/opentelemetry-cpp/sdk/test/metrics/observer_result_test.cc38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/jaegertracing/opentelemetry-cpp/sdk/test/metrics/observer_result_test.cc b/src/jaegertracing/opentelemetry-cpp/sdk/test/metrics/observer_result_test.cc
new file mode 100644
index 000000000..a4cc28ae5
--- /dev/null
+++ b/src/jaegertracing/opentelemetry-cpp/sdk/test/metrics/observer_result_test.cc
@@ -0,0 +1,38 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+#ifndef ENABLE_METRICS_PREVIEW
+# include "opentelemetry/sdk/metrics/observer_result.h"
+# include "opentelemetry/sdk/metrics/view/attributes_processor.h"
+
+# include <gtest/gtest.h>
+
+using namespace opentelemetry::sdk::metrics;
+TEST(ObserverResult, BasicTests)
+{
+ const AttributesProcessor *attributes_processor = new DefaultAttributesProcessor();
+
+ ObserverResult<long> observer_result(attributes_processor);
+
+ observer_result.Observe(10l);
+ observer_result.Observe(20l);
+ EXPECT_EQ(observer_result.GetMeasurements().size(), 1);
+
+ std::map<std::string, int64_t> m1 = {{"k2", 12}};
+ observer_result.Observe(
+ 30l, opentelemetry::common::KeyValueIterableView<std::map<std::string, int64_t>>(m1));
+ EXPECT_EQ(observer_result.GetMeasurements().size(), 2);
+
+ observer_result.Observe(
+ 40l, opentelemetry::common::KeyValueIterableView<std::map<std::string, int64_t>>(m1));
+ EXPECT_EQ(observer_result.GetMeasurements().size(), 2);
+
+ std::map<std::string, int64_t> m2 = {{"k2", 12}, {"k4", 12}};
+ observer_result.Observe(
+ 40l, opentelemetry::common::KeyValueIterableView<std::map<std::string, int64_t>>(m2));
+ EXPECT_EQ(observer_result.GetMeasurements().size(), 3);
+
+ delete attributes_processor;
+}
+
+#endif \ No newline at end of file