diff options
author | miktorius <miktorius@yandex-team.com> | 2025-03-06 12:11:55 +0300 |
---|---|---|
committer | miktorius <miktorius@yandex-team.com> | 2025-03-06 14:53:44 +0300 |
commit | 618663dff0c22bb5fc2a8b1d946d6b91ac572fb4 (patch) | |
tree | 09d317c27318a1bf8b5c2ab3cba9415990432321 /library/cpp/monlib/encode/json/json_encoder.cpp | |
parent | 89948053154b88163e209389b19a93d81f8235e7 (diff) | |
download | ydb-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.cpp | 16 |
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; |