aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/monlib/dynamic_counters/page.cpp
diff options
context:
space:
mode:
authormonster <monster@yandex-team.ru>2022-03-24 20:22:00 +0300
committermonster <monster@yandex-team.ru>2022-03-24 20:22:00 +0300
commit9af817fd1c586794f68b118236da5b42a74f66e4 (patch)
tree2a67d6a26306cf5f57403a0a09cf66c9b6fe5f5c /library/cpp/monlib/dynamic_counters/page.cpp
parentd7b7178997d5f37bd21b7eae2f8432ce869cb40e (diff)
downloadydb-9af817fd1c586794f68b118236da5b42a74f66e4.tar.gz
add name_label page parameter for prometheus format KIKIMR-14564
ref:460fd827b07d7a0cd719c88e6381600b19cdce73
Diffstat (limited to 'library/cpp/monlib/dynamic_counters/page.cpp')
-rw-r--r--library/cpp/monlib/dynamic_counters/page.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/library/cpp/monlib/dynamic_counters/page.cpp b/library/cpp/monlib/dynamic_counters/page.cpp
index 5124a47bb3..b116adfdef 100644
--- a/library/cpp/monlib/dynamic_counters/page.cpp
+++ b/library/cpp/monlib/dynamic_counters/page.cpp
@@ -31,6 +31,7 @@ void TDynamicCountersPage::Output(NMonitoring::IMonHttpRequest& request) {
OutputCallback();
}
+ TString nameLabel("sensor");
TCountableBase::EVisibility visibility{
TCountableBase::EVisibility::Public
};
@@ -46,6 +47,15 @@ void TDynamicCountersPage::Output(NMonitoring::IMonHttpRequest& request) {
parts.pop_back();
}
+ if (!parts.empty() && parts.back().StartsWith(TStringBuf("name_label="))) {
+ TVector<TString> labels;
+ StringSplitter(parts.back()).Split('=').SkipEmpty().Collect(&labels);
+ if (labels.size() == 2U) {
+ nameLabel = labels.back();
+ }
+ parts.pop_back();
+ }
+
if (!parts.empty() && parts.back() == TStringBuf("private")) {
visibility = TCountableBase::EVisibility::Private;
parts.pop_back();
@@ -90,7 +100,7 @@ void TDynamicCountersPage::Output(NMonitoring::IMonHttpRequest& request) {
ythrow yexception() << "unsupported metric encoding format: " << *format;
}
- auto encoder = CreateEncoder(&out, *format, visibility);
+ auto encoder = CreateEncoder(&out, *format, nameLabel, visibility);
counters->Accept(TString(), TString(), *encoder);
out.Flush();
}