summaryrefslogtreecommitdiffstats
path: root/src/jaegertracing/opentelemetry-cpp/sdk/test/_metrics/controller_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/jaegertracing/opentelemetry-cpp/sdk/test/_metrics/controller_test.cc')
-rw-r--r--src/jaegertracing/opentelemetry-cpp/sdk/test/_metrics/controller_test.cc56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/jaegertracing/opentelemetry-cpp/sdk/test/_metrics/controller_test.cc b/src/jaegertracing/opentelemetry-cpp/sdk/test/_metrics/controller_test.cc
new file mode 100644
index 000000000..aa92c8d04
--- /dev/null
+++ b/src/jaegertracing/opentelemetry-cpp/sdk/test/_metrics/controller_test.cc
@@ -0,0 +1,56 @@
+// Copyright The OpenTelemetry Authors
+// SPDX-License-Identifier: Apache-2.0
+
+#ifdef ENABLE_METRICS_PREVIEW
+# include "opentelemetry/sdk/_metrics/controller.h"
+# include "opentelemetry/sdk/_metrics/meter.h"
+# include "opentelemetry/sdk/_metrics/ungrouped_processor.h"
+
+# include <gtest/gtest.h>
+# include <numeric>
+# include <thread>
+// #include <chrono>
+
+namespace metrics_api = opentelemetry::metrics;
+using namespace opentelemetry::sdk::common;
+
+OPENTELEMETRY_BEGIN_NAMESPACE
+namespace sdk
+{
+namespace metrics
+{
+class DummyExporter : public MetricsExporter
+{
+ ExportResult Export(const std::vector<Record> &records) noexcept
+ {
+ return ExportResult::kSuccess;
+ }
+};
+
+TEST(Controller, Constructor)
+{
+
+ std::shared_ptr<metrics_api::Meter> meter =
+ std::shared_ptr<metrics_api::Meter>(new Meter("Test"));
+ PushController alpha(meter, std::unique_ptr<MetricsExporter>(new DummyExporter),
+ std::shared_ptr<MetricsProcessor>(
+ new opentelemetry::sdk::metrics::UngroupedMetricsProcessor(false)),
+ .05);
+
+ auto instr = meter->NewIntCounter("test", "none", "none", true);
+ std::map<std::string, std::string> labels = {{"key", "value"}};
+ auto labelkv = opentelemetry::common::KeyValueIterableView<decltype(labels)>{labels};
+
+ alpha.start();
+
+ for (int i = 0; i < 20; i++)
+ {
+ instr->add(i, labelkv);
+ }
+ alpha.stop();
+}
+
+} // namespace metrics
+} // namespace sdk
+OPENTELEMETRY_END_NAMESPACE
+#endif