aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/monlib/encode/json/json_encoder.cpp
diff options
context:
space:
mode:
authorAlexander Smirnov <alex@ydb.tech>2025-03-07 00:51:42 +0000
committerAlexander Smirnov <alex@ydb.tech>2025-03-07 00:51:42 +0000
commit26f81abb45fa0b914da68e22b79c4b8ba8ac105b (patch)
tree2dd0455697e85b89272f2d4197703cb92f33958e /library/cpp/monlib/encode/json/json_encoder.cpp
parent98be31c26bacbdc98081620b680a520f0bd0246f (diff)
parent9b0a13bddce49bfb5ea59d8c4a668d32d7dada3b (diff)
downloadydb-26f81abb45fa0b914da68e22b79c4b8ba8ac105b.tar.gz
Merge branch 'rightlib' into merge-libs-250307-0050
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 69da5170f0d..2af058155a8 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;