]> git.proxmox.com Git - ceph.git/blame - ceph/src/jaegertracing/opentelemetry-cpp/sdk/test/_metrics/controller_test.cc
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / jaegertracing / opentelemetry-cpp / sdk / test / _metrics / controller_test.cc
CommitLineData
1e59de90
TL
1// Copyright The OpenTelemetry Authors
2// SPDX-License-Identifier: Apache-2.0
3
4#ifdef ENABLE_METRICS_PREVIEW
5# include "opentelemetry/sdk/_metrics/controller.h"
6# include "opentelemetry/sdk/_metrics/meter.h"
7# include "opentelemetry/sdk/_metrics/ungrouped_processor.h"
8
9# include <gtest/gtest.h>
10# include <numeric>
11# include <thread>
12// #include <chrono>
13
14namespace metrics_api = opentelemetry::metrics;
15using namespace opentelemetry::sdk::common;
16
17OPENTELEMETRY_BEGIN_NAMESPACE
18namespace sdk
19{
20namespace metrics
21{
22class DummyExporter : public MetricsExporter
23{
24 ExportResult Export(const std::vector<Record> &records) noexcept
25 {
26 return ExportResult::kSuccess;
27 }
28};
29
30TEST(Controller, Constructor)
31{
32
33 std::shared_ptr<metrics_api::Meter> meter =
34 std::shared_ptr<metrics_api::Meter>(new Meter("Test"));
35 PushController alpha(meter, std::unique_ptr<MetricsExporter>(new DummyExporter),
36 std::shared_ptr<MetricsProcessor>(
37 new opentelemetry::sdk::metrics::UngroupedMetricsProcessor(false)),
38 .05);
39
40 auto instr = meter->NewIntCounter("test", "none", "none", true);
41 std::map<std::string, std::string> labels = {{"key", "value"}};
42 auto labelkv = opentelemetry::common::KeyValueIterableView<decltype(labels)>{labels};
43
44 alpha.start();
45
46 for (int i = 0; i < 20; i++)
47 {
48 instr->add(i, labelkv);
49 }
50 alpha.stop();
51}
52
53} // namespace metrics
54} // namespace sdk
55OPENTELEMETRY_END_NAMESPACE
56#endif