diff options
| author | robot-ydb-importer <[email protected]> | 2024-02-14 19:47:36 +0300 |
|---|---|---|
| committer | Innokentii Mokin <[email protected]> | 2024-02-16 18:35:13 +0000 |
| commit | d6ee6054676c603f8afb27b5bd8ce7fe0a5bfbc0 (patch) | |
| tree | 4aa69116e7818a4aae0bfedbfa29639b0f0b90e8 /library/python/monlib/encoder.pxd | |
| parent | 59ded8ecfcd805c109471346a0d4d1f269bdaa59 (diff) | |
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 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) |
