diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-21 11:54:28 +0000 |
commit | e6918187568dbd01842d8d1d2c808ce16a894239 (patch) | |
tree | 64f88b554b444a49f656b6c656111a145cbbaa28 /src/jaegertracing/opentelemetry-cpp/sdk/test/_metrics/controller_test.cc | |
parent | Initial commit. (diff) | |
download | ceph-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/controller_test.cc')
-rw-r--r-- | src/jaegertracing/opentelemetry-cpp/sdk/test/_metrics/controller_test.cc | 56 |
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 |