// 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 # include # include // #include 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 &records) noexcept { return ExportResult::kSuccess; } }; TEST(Controller, Constructor) { std::shared_ptr meter = std::shared_ptr(new Meter("Test")); PushController alpha(meter, std::unique_ptr(new DummyExporter), std::shared_ptr( new opentelemetry::sdk::metrics::UngroupedMetricsProcessor(false)), .05); auto instr = meter->NewIntCounter("test", "none", "none", true); std::map labels = {{"key", "value"}}; auto labelkv = opentelemetry::common::KeyValueIterableView{labels}; alpha.start(); for (int i = 0; i < 20; i++) { instr->add(i, labelkv); } alpha.stop(); } } // namespace metrics } // namespace sdk OPENTELEMETRY_END_NAMESPACE #endif