]>
Commit | Line | Data |
---|---|---|
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 | ||
14 | namespace metrics_api = opentelemetry::metrics; | |
15 | using namespace opentelemetry::sdk::common; | |
16 | ||
17 | OPENTELEMETRY_BEGIN_NAMESPACE | |
18 | namespace sdk | |
19 | { | |
20 | namespace metrics | |
21 | { | |
22 | class DummyExporter : public MetricsExporter | |
23 | { | |
24 | ExportResult Export(const std::vector<Record> &records) noexcept | |
25 | { | |
26 | return ExportResult::kSuccess; | |
27 | } | |
28 | }; | |
29 | ||
30 | TEST(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 | |
55 | OPENTELEMETRY_END_NAMESPACE | |
56 | #endif |