diff options
author | robot-ydb-importer <robot-ydb-importer@yandex-team.com> | 2024-02-14 19:47:36 +0300 |
---|---|---|
committer | robot-ydb-importer <robot-ydb-importer@yandex-team.com> | 2024-02-14 21:51:48 +0300 |
commit | ccc9ad1a6914b4cce50935b1b3fd868ed69fed13 (patch) | |
tree | 9dea935eaf96e944bf8262a295eb8bccb7bce077 /library/python/monlib/encoder.pxd | |
parent | 37ca0ae098448d6f7d13b7c651f38c282915ad3a (diff) | |
download | ydb-ccc9ad1a6914b4cce50935b1b3fd868ed69fed13.tar.gz |
YDB Import 566
96265cd0cc64e1b9bb31fe97b915ed2a09caf1cb
Diffstat (limited to 'library/python/monlib/encoder.pxd')
-rw-r--r-- | library/python/monlib/encoder.pxd | 79 |
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 0000000000..f879b66b78 --- /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) |