diff options
author | arcadia-devtools <arcadia-devtools@yandex-team.ru> | 2022-02-11 11:03:03 +0300 |
---|---|---|
committer | arcadia-devtools <arcadia-devtools@yandex-team.ru> | 2022-02-11 11:03:03 +0300 |
commit | 9e0f7aea7799e801eb90af47c09825358537a718 (patch) | |
tree | 1baef65b00ef396862a4bbadb1fb62237ac929dc /library/cpp/monlib/metrics/metric_registry.cpp | |
parent | a9af1955eae1da5beab8f35afe22635c467084b7 (diff) | |
download | ydb-9e0f7aea7799e801eb90af47c09825358537a718.tar.gz |
intermediate changes
ref:23d75af30a9649405a1b3643fbbd9810cf9f1987
Diffstat (limited to 'library/cpp/monlib/metrics/metric_registry.cpp')
-rw-r--r-- | library/cpp/monlib/metrics/metric_registry.cpp | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/library/cpp/monlib/metrics/metric_registry.cpp b/library/cpp/monlib/metrics/metric_registry.cpp index b083163a7b..213cab1aca 100644 --- a/library/cpp/monlib/metrics/metric_registry.cpp +++ b/library/cpp/monlib/metrics/metric_registry.cpp @@ -40,6 +40,8 @@ namespace NMonitoring { CommonLabels_ = commonLabels; } + TMetricRegistry& TMetricRegistry::operator=(TMetricRegistry&& other) = default; + TMetricRegistry* TMetricRegistry::Instance() { return Singleton<TMetricRegistry>(); } @@ -125,7 +127,7 @@ namespace NMonitoring { } void TMetricRegistry::Reset() { - TWriteGuard g{Lock_}; + TWriteGuard g{*Lock_}; for (auto& [label, metric] : Metrics_) { switch (metric->Type()) { case EMetricType::GAUGE: @@ -153,14 +155,14 @@ namespace NMonitoring { } void TMetricRegistry::Clear() { - TWriteGuard g{Lock_}; + TWriteGuard g{*Lock_}; Metrics_.clear(); } template <typename TMetric, EMetricType type, typename TLabelsType, typename... Args> TMetric* TMetricRegistry::Metric(TLabelsType&& labels, Args&&... args) { { - TReadGuard g{Lock_}; + TReadGuard g{*Lock_}; auto it = Metrics_.find(labels); if (it != Metrics_.end()) { @@ -174,7 +176,7 @@ namespace NMonitoring { { IMetricPtr metric = MakeHolder<TMetric>(std::forward<Args>(args)...); - TWriteGuard g{Lock_}; + TWriteGuard g{*Lock_}; // decltype(Metrics_)::iterator breaks build on windows THashMap<ILabelsPtr, IMetricPtr>::iterator it; if constexpr (!std::is_convertible_v<TLabelsType, ILabelsPtr>) { @@ -188,7 +190,7 @@ namespace NMonitoring { } void TMetricRegistry::RemoveMetric(const ILabels& labels) noexcept { - TWriteGuard g{Lock_}; + TWriteGuard g{*Lock_}; Metrics_.erase(labels); } @@ -202,7 +204,7 @@ namespace NMonitoring { } { - TReadGuard g{Lock_}; + TReadGuard g{*Lock_}; for (const auto& it: Metrics_) { ILabels* labels = it.first.Get(); IMetric* metric = it.second.Get(); @@ -216,7 +218,7 @@ namespace NMonitoring { } void TMetricRegistry::Append(TInstant time, IMetricConsumer* consumer) const { - TReadGuard g{Lock_}; + TReadGuard g{*Lock_}; for (const auto& it: Metrics_) { ILabels* labels = it.first.Get(); |