diff options
Diffstat (limited to 'src/jaegertracing/opentelemetry-cpp/api/test/_metrics/noop_instrument_test.cc')
-rw-r--r-- | src/jaegertracing/opentelemetry-cpp/api/test/_metrics/noop_instrument_test.cc | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/src/jaegertracing/opentelemetry-cpp/api/test/_metrics/noop_instrument_test.cc b/src/jaegertracing/opentelemetry-cpp/api/test/_metrics/noop_instrument_test.cc new file mode 100644 index 000000000..83d8d3960 --- /dev/null +++ b/src/jaegertracing/opentelemetry-cpp/api/test/_metrics/noop_instrument_test.cc @@ -0,0 +1,191 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +#ifdef ENABLE_METRICS_PREVIEW +# include <gtest/gtest.h> +# include <cstring> +# include <map> +# include <string> + +# include "opentelemetry/_metrics/noop.h" + +OPENTELEMETRY_BEGIN_NAMESPACE +namespace metrics +{ + +void noopIntCallback(ObserverResult<int> result) +{ + std::map<std::string, std::string> labels = {{"key", "value"}}; + auto labelkv = common::KeyValueIterableView<decltype(labels)>{labels}; + result.observe(1, labelkv); + result.observe(-1, labelkv); +} + +void noopDoubleCallback(ObserverResult<double> result) +{ + std::map<std::string, std::string> labels = {{"key", "value"}}; + auto labelkv = common::KeyValueIterableView<decltype(labels)>{labels}; + result.observe(1.5, labelkv); + result.observe(-1.5, labelkv); +} + +TEST(ValueObserver, Observe) +{ + NoopValueObserver<int> alpha("test", "none", "unitless", true, &noopIntCallback); + + NoopValueObserver<double> beta("test", "none", "unitless", true, &noopDoubleCallback); + + std::map<std::string, std::string> labels = {{"key", "value"}}; + auto labelkv = common::KeyValueIterableView<decltype(labels)>{labels}; + + alpha.observe(1, labelkv); + beta.observe(1.5, labelkv); +} + +TEST(SumObserver, DefaultConstruction) +{ + NoopSumObserver<int> alpha("test", "none", "unitless", true, &noopIntCallback); + + NoopSumObserver<double> beta("test", "none", "unitless", true, &noopDoubleCallback); + + std::map<std::string, std::string> labels = {{"key", "value"}}; + auto labelkv = common::KeyValueIterableView<decltype(labels)>{labels}; + + alpha.observe(1, labelkv); + beta.observe(1.5, labelkv); +} + +TEST(UpDownSumObserver, DefaultConstruction) +{ + NoopUpDownSumObserver<int> alpha("test", "none", "unitless", true, &noopIntCallback); + + NoopUpDownSumObserver<double> beta("test", "none", "unitless", true, &noopDoubleCallback); + + std::map<std::string, std::string> labels = {{"key", "value"}}; + auto labelkv = common::KeyValueIterableView<decltype(labels)>{labels}; + + alpha.observe(1, labelkv); + beta.observe(1.0, labelkv); + alpha.observe(-1, labelkv); + beta.observe(-1.0, labelkv); +} + +TEST(Counter, DefaultConstruction) +{ + NoopCounter<int> alpha("test", "none", "unitless", true); + NoopCounter<double> beta("other", "none", "unitless", true); + + std::map<std::string, std::string> labels = {{"key", "value"}}; + auto labelkv = common::KeyValueIterableView<decltype(labels)>{labels}; + + alpha.bind(labelkv); + + auto gamma = alpha.bindNoopCounter(labelkv); + auto delta = beta.bindNoopCounter(labelkv); + + gamma->unbind(); + delta->unbind(); +} + +TEST(Counter, Add) +{ + NoopCounter<int> alpha("test", "none", "unitless", true); + NoopCounter<double> beta("other", "none", "unitless", true); + + std::map<std::string, std::string> labels = {{"key", "value"}}; + auto labelkv = common::KeyValueIterableView<decltype(labels)>{labels}; + + alpha.add(1, labelkv); + beta.add(1.5, labelkv); + + auto gamma = alpha.bindNoopCounter(labelkv); + auto delta = beta.bindNoopCounter(labelkv); + + gamma->add(1); + delta->add(1.5); + + gamma->unbind(); + delta->unbind(); +} + +TEST(UpDownCounter, DefaultConstruction) +{ + NoopUpDownCounter<int> alpha("test", "none", "unitless", true); + NoopUpDownCounter<double> beta("other", "none", "unitless", true); + + std::map<std::string, std::string> labels = {{"key", "value"}}; + auto labelkv = common::KeyValueIterableView<decltype(labels)>{labels}; + + alpha.bind(labelkv); + + auto gamma = alpha.bindNoopUpDownCounter(labelkv); + auto delta = beta.bindNoopUpDownCounter(labelkv); + + gamma->unbind(); + delta->unbind(); +} + +TEST(UpDownCounter, Add) +{ + NoopUpDownCounter<int> alpha("test", "none", "unitless", true); + NoopUpDownCounter<double> beta("other", "none", "unitless", true); + + std::map<std::string, std::string> labels = {{"key", "value"}}; + auto labelkv = common::KeyValueIterableView<decltype(labels)>{labels}; + + alpha.add(1, labelkv); + beta.add(1.5, labelkv); + + auto gamma = alpha.bindNoopUpDownCounter(labelkv); + auto delta = beta.bindNoopUpDownCounter(labelkv); + + gamma->add(1); + delta->add(1.0); + gamma->add(-1); + delta->add(-1.0); + + gamma->unbind(); + delta->unbind(); +} + +TEST(ValueRecorder, DefaultConstruction) +{ + NoopValueRecorder<int> alpha("test", "none", "unitless", true); + NoopValueRecorder<double> beta("other", "none", "unitless", true); + + std::map<std::string, std::string> labels = {{"key", "value"}}; + auto labelkv = common::KeyValueIterableView<decltype(labels)>{labels}; + + alpha.bind(labelkv); + + auto gamma = alpha.bindNoopValueRecorder(labelkv); + auto delta = beta.bindNoopValueRecorder(labelkv); + + gamma->unbind(); + delta->unbind(); +} + +TEST(ValueRecorder, Record) +{ + NoopValueRecorder<int> alpha("test", "none", "unitless", true); + NoopValueRecorder<double> beta("other", "none", "unitless", true); + + std::map<std::string, std::string> labels = {{"key", "value"}}; + auto labelkv = common::KeyValueIterableView<decltype(labels)>{labels}; + + alpha.record(1, labelkv); + beta.record(1.5, labelkv); + + auto gamma = alpha.bindNoopValueRecorder(labelkv); + auto delta = beta.bindNoopValueRecorder(labelkv); + + gamma->record(1); + delta->record(1.5); + + gamma->unbind(); + delta->unbind(); +} + +} // namespace metrics +OPENTELEMETRY_END_NAMESPACE +#endif |