diff options
author | arcadia-devtools <[email protected]> | 2022-06-21 11:31:57 +0300 |
---|---|---|
committer | arcadia-devtools <[email protected]> | 2022-06-21 11:31:57 +0300 |
commit | 444fb65b1a79c2c2ce6753cdfe18372203e1b44f (patch) | |
tree | 4314c153eff2e535c91c373cde41d486546514e3 /library/cpp/monlib/metrics/metric_registry_ut.cpp | |
parent | 184eb704ed3f6064598640cc8cf23ab5af942a97 (diff) |
intermediate changes
ref:98c26ee2d3cd643aba98b8222f9f8a4c1773449a
Diffstat (limited to 'library/cpp/monlib/metrics/metric_registry_ut.cpp')
-rw-r--r-- | library/cpp/monlib/metrics/metric_registry_ut.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/library/cpp/monlib/metrics/metric_registry_ut.cpp b/library/cpp/monlib/metrics/metric_registry_ut.cpp index 65fb2b3b387..0f0dbf0e6ea 100644 --- a/library/cpp/monlib/metrics/metric_registry_ut.cpp +++ b/library/cpp/monlib/metrics/metric_registry_ut.cpp @@ -239,6 +239,47 @@ Y_UNIT_TEST_SUITE(TMetricRegistryTest) { UNIT_ASSERT_NO_DIFF(ss.Str(), NResource::Find("/histograms.json")); } + Y_UNIT_TEST(HistogramsFabric) { + TMetricRegistry registry(TLabels{{"common", "label"}}); + bool called = false; + + auto collector = [&]() { + called = true; + return ExponentialHistogram(5, 2); + }; + + THistogram* h1 = registry.HistogramCounter( + {{"sensor", "readTimeMillis"}}, + collector); + + UNIT_ASSERT_VALUES_EQUAL(called, true); + called = false; + + h1 = registry.HistogramCounter( + {{"sensor", "readTimeMillis"}}, + collector); + + UNIT_ASSERT_VALUES_EQUAL(called, false); + + THistogram* h2 = registry.HistogramRate( + {{"sensor", "writeTimeMillis"}}, + ExplicitHistogram({1, 5, 15, 20, 25})); + + for (i64 i = 0; i < 100; i++) { + h1->Record(i); + h2->Record(i); + } + + TStringStream ss; + { + auto encoder = EncoderJson(&ss, 2); + registry.Accept(TInstant::Zero(), encoder.Get()); + } + ss << '\n'; + + UNIT_ASSERT_NO_DIFF(ss.Str(), NResource::Find("/histograms.json")); + } + Y_UNIT_TEST(StreamingEncoderTest) { const TString expected { "{\"commonLabels\":{\"common\":\"label\"}," |