diff options
author | Alexey Efimov <xeno@prnwatch.com> | 2022-03-24 12:43:54 +0300 |
---|---|---|
committer | Alexey Efimov <xeno@prnwatch.com> | 2022-03-24 12:43:54 +0300 |
commit | 43a2b5dd73d8a7aa80d4c1ba4ee70428fffbd17e (patch) | |
tree | abebfb404c82a24c52c2372f497eadefd899dfb3 /library/cpp/monlib/metrics | |
parent | 057f22cbb5bfa82df4bfde220d5aaaa08f34257b (diff) | |
download | ydb-43a2b5dd73d8a7aa80d4c1ba4ee70428fffbd17e.tar.gz |
switch metrics registry to shared_ptr KIKIMR-14218
ref:5ef16c21e373b05982980dcd3016950f15a884e8
Diffstat (limited to 'library/cpp/monlib/metrics')
-rw-r--r-- | library/cpp/monlib/metrics/metric_registry.cpp | 6 | ||||
-rw-r--r-- | library/cpp/monlib/metrics/metric_registry.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/library/cpp/monlib/metrics/metric_registry.cpp b/library/cpp/monlib/metrics/metric_registry.cpp index 74260e3069..3d7ffd40cf 100644 --- a/library/cpp/monlib/metrics/metric_registry.cpp +++ b/library/cpp/monlib/metrics/metric_registry.cpp @@ -43,9 +43,15 @@ namespace NMonitoring { TMetricRegistry& TMetricRegistry::operator=(TMetricRegistry&& other) = default; TMetricRegistry* TMetricRegistry::Instance() { + //return SharedInstance().get(); return Singleton<TMetricRegistry>(); } + std::shared_ptr<TMetricRegistry> TMetricRegistry::SharedInstance() { + static auto instance(std::make_shared<TMetricRegistry>()); + return instance; + } + TGauge* TMetricRegistry::Gauge(TLabels labels) { return Metric<TGauge, EMetricType::GAUGE>(std::move(labels)); } diff --git a/library/cpp/monlib/metrics/metric_registry.h b/library/cpp/monlib/metrics/metric_registry.h index 06e61d9991..faba19e845 100644 --- a/library/cpp/monlib/metrics/metric_registry.h +++ b/library/cpp/monlib/metrics/metric_registry.h @@ -67,6 +67,7 @@ namespace NMonitoring { * Get a global metrics registry instance. */ static TMetricRegistry* Instance(); + static std::shared_ptr<TMetricRegistry> SharedInstance(); TGauge* Gauge(TLabels labels); TLazyGauge* LazyGauge(TLabels labels, std::function<double()> supplier); |