diff options
author | monster <monster@yandex-team.ru> | 2022-03-24 20:22:00 +0300 |
---|---|---|
committer | monster <monster@yandex-team.ru> | 2022-03-24 20:22:00 +0300 |
commit | 9af817fd1c586794f68b118236da5b42a74f66e4 (patch) | |
tree | 2a67d6a26306cf5f57403a0a09cf66c9b6fe5f5c /library/cpp/monlib/dynamic_counters/page.cpp | |
parent | d7b7178997d5f37bd21b7eae2f8432ce869cb40e (diff) | |
download | ydb-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.cpp | 12 |
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(); } |