aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/monlib/encode/json/json_encoder.cpp
diff options
context:
space:
mode:
authormiktorius <miktorius@yandex-team.com>2025-03-06 12:11:55 +0300
committermiktorius <miktorius@yandex-team.com>2025-03-06 14:53:44 +0300
commit618663dff0c22bb5fc2a8b1d946d6b91ac572fb4 (patch)
tree09d317c27318a1bf8b5c2ab3cba9415990432321 /library/cpp/monlib/encode/json/json_encoder.cpp
parent89948053154b88163e209389b19a93d81f8235e7 (diff)
downloadydb-618663dff0c22bb5fc2a8b1d946d6b91ac572fb4.tar.gz
monlib : memOnly support for JSON encoding/decoding (cpp)
json encoder memonly attempt commit_hash:0cef79f66356a94c398c76dc9baf2fe3ea9a6948
Diffstat (limited to 'library/cpp/monlib/encode/json/json_encoder.cpp')
-rw-r--r--library/cpp/monlib/encode/json/json_encoder.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/library/cpp/monlib/encode/json/json_encoder.cpp b/library/cpp/monlib/encode/json/json_encoder.cpp
index 69da5170f0..2af058155a 100644
--- a/library/cpp/monlib/encode/json/json_encoder.cpp
+++ b/library/cpp/monlib/encode/json/json_encoder.cpp
@@ -274,6 +274,14 @@ namespace NMonitoring {
WriteMetricType(type);
}
+ void OnMemOnly(bool isMemOnly) override {
+ State_.Expect(TEncoderState::EState::METRIC);
+ if (isMemOnly) {
+ Buf_.WriteKey("memOnly");
+ Buf_.WriteBool(isMemOnly);
+ }
+ }
+
void OnMetricEnd() override {
State_.Switch(TEncoderState::EState::METRIC, TEncoderState::EState::ROOT);
if (!Buf_.KeyExpected()) {
@@ -493,6 +501,7 @@ namespace NMonitoring {
Buf_.WriteKey(TStringBuf("labels"));
WriteLabels(metric.Labels, false);
+ WriteFlags(metric);
metric.TimeSeries.SortByTs();
if (metric.TimeSeries.Size() == 1) {
const auto& point = metric.TimeSeries[0];
@@ -532,6 +541,13 @@ namespace NMonitoring {
}
}
+ void WriteFlags(const TMetric& metric) {
+ if (metric.IsMemOnly) {
+ Buf_.WriteKey("memOnly");
+ Buf_.WriteBool(true);
+ }
+ }
+
private:
bool Closed_{false};
bool EmptyLabels_ = false;