summaryrefslogtreecommitdiffstats
path: root/library/python/monlib/encoder.pxd
diff options
context:
space:
mode:
authorrobot-ydb-importer <[email protected]>2024-02-14 19:47:36 +0300
committerInnokentii Mokin <[email protected]>2024-02-16 18:35:13 +0000
commitd6ee6054676c603f8afb27b5bd8ce7fe0a5bfbc0 (patch)
tree4aa69116e7818a4aae0bfedbfa29639b0f0b90e8 /library/python/monlib/encoder.pxd
parent59ded8ecfcd805c109471346a0d4d1f269bdaa59 (diff)
YDB Import 566
96265cd0cc64e1b9bb31fe97b915ed2a09caf1cb
Diffstat (limited to 'library/python/monlib/encoder.pxd')
-rw-r--r--library/python/monlib/encoder.pxd79
1 files changed, 79 insertions, 0 deletions
diff --git a/library/python/monlib/encoder.pxd b/library/python/monlib/encoder.pxd
new file mode 100644
index 00000000000..f879b66b785
--- /dev/null
+++ b/library/python/monlib/encoder.pxd
@@ -0,0 +1,79 @@
+from util.generic.string cimport TStringBuf, TString
+from util.generic.ptr cimport THolder
+from util.stream.output cimport IOutputStream
+
+from library.python.monlib.metric_consumer cimport IMetricConsumer
+
+
+cdef extern from "util/stream/input.h" nogil:
+ cdef cppclass IInputStream:
+ pass
+
+
+cdef extern from "util/system/file.h" nogil:
+ cdef cppclass TFile:
+ TFile()
+ TFile(TFile)
+ pass
+
+ cdef TFile Duplicate(int)
+
+
+cdef extern from "library/cpp/monlib/encode/encoder.h" namespace "NMonitoring" nogil:
+ cdef cppclass IMetricEncoder:
+ void Close()
+
+ cdef cppclass ECompression:
+ pass
+
+ ctypedef THolder[IMetricEncoder] IMetricEncoderPtr
+
+
+cdef extern from "library/cpp/monlib/encode/unistat/unistat.h" namespace "NMonitoring" nogil:
+ cdef void DecodeUnistat(TStringBuf data, IMetricConsumer* c)
+
+
+cdef extern from "library/cpp/monlib/encode/json/json.h" namespace "NMonitoring" nogil:
+ cdef IMetricEncoderPtr EncoderJson(IOutputStream* out, int indentation)
+ cdef IMetricEncoderPtr BufferedEncoderJson(IOutputStream* out, int indentation)
+
+ cdef void DecodeJson(TStringBuf data, IMetricConsumer* c)
+
+
+cdef extern from "library/cpp/monlib/encode/spack/spack_v1.h" namespace "NMonitoring" nogil:
+ cdef IMetricEncoderPtr EncoderSpackV1(IOutputStream* out, ETimePrecision, ECompression)
+
+ cdef void DecodeSpackV1(IInputStream* input, IMetricConsumer* c) except +
+ cdef cppclass ETimePrecision:
+ pass
+
+ cdef cppclass EValueType:
+ pass
+
+
+cdef extern from "library/cpp/monlib/encode/spack/spack_v1.h" namespace "NMonitoring::ETimePrecision" nogil:
+ cdef ETimePrecision SECONDS "NMonitoring::ETimePrecision::SECONDS"
+ cdef ETimePrecision MILLIS "NMonitoring::ETimePrecision::MILLIS"
+
+
+cdef extern from "library/cpp/monlib/encode/encoder.h" namespace "NMonitoring::ECompression" nogil:
+ cdef ECompression UNKNOWN "NMonitoring::ECompression::UNKNOWN"
+ cdef ECompression IDENTITY "NMonitoring::ECompression::IDENTITY"
+ cdef ECompression ZLIB "NMonitoring::ECompression::ZLIB"
+ cdef ECompression LZ4 "NMonitoring::ECompression::LZ4"
+ cdef ECompression ZSTD "NMonitoring::ECompression::ZSTD"
+
+
+cdef class Encoder:
+ cdef IMetricEncoderPtr __wrapped
+ cdef THolder[TFile] __file
+ cdef THolder[IOutputStream] __stream
+
+ cdef IMetricEncoder* native(self)
+
+ cdef _make_stream(self, py_stream)
+
+ @staticmethod
+ cdef Encoder create_spack(object stream, ETimePrecision timePrecision, ECompression compression)
+ @staticmethod
+ cdef Encoder create_json(object stream, int indent)