123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- from libcpp cimport bool
- from util.system.types cimport ui32, ui64, i64
- from library.python.monlib.metric cimport (
- TGauge, TCounter, TRate, TIntGauge, THistogram,
- IHistogramCollectorPtr)
- cdef class Gauge:
- """
- Represents a floating point absolute value
- """
- @staticmethod
- cdef Gauge from_ptr(TGauge* native):
- cdef Gauge wrapper = Gauge.__new__(Gauge)
- wrapper.__wrapped = native
- return wrapper
- def set(self, double value):
- """
- Set metric to the specified value
- :param value: metric value
- """
- self.__wrapped.Set(value)
- def get(self):
- """
- Get metric value.
- :param value: metric value
- """
- return self.__wrapped.Get()
- def add(self, double value):
- """
- Add value to metric.
- :param value: metric value
- """
- return self.__wrapped.Add(value)
- cdef class IntGauge:
- """
- Represents an integer absolute value
- """
- @staticmethod
- cdef IntGauge from_ptr(TIntGauge* native):
- cdef IntGauge wrapper = IntGauge.__new__(IntGauge)
- wrapper.__wrapped = native
- return wrapper
- def set(self, i64 value):
- """
- Set metric to the specified value
- :param value: metric value
- """
- self.__wrapped.Set(value)
- def get(self):
- """
- Get metric value
- :param value: metric value
- """
- return self.__wrapped.Get()
- def add(self, i64 value):
- """
- Add value to metric.
- :param value: metric value
- """
- return self.__wrapped.Add(value)
- def inc(self):
- """
- Add 1 to metric.
- """
- return self.__wrapped.Inc()
- def dec(self):
- """
- Add -1 to metric.
- """
- return self.__wrapped.Dec()
- cdef class Counter:
- """
- Represents a counter value
- """
- @staticmethod
- cdef Counter from_ptr(TCounter* native):
- cdef Counter wrapper = Counter.__new__(Counter)
- wrapper.__wrapped = native
- return wrapper
- def get(self):
- return self.__wrapped.Get()
- def inc(self):
- """
- Increment metric value
- """
- return self.__wrapped.Inc()
- def reset(self):
- """
- Reset metric value to zero
- """
- return self.__wrapped.Reset()
- cdef class Rate:
- """
- Represents a time derivative
- """
- @staticmethod
- cdef Rate from_ptr(TRate* native):
- cdef Rate wrapper = Rate.__new__(Rate)
- wrapper.__wrapped = native
- return wrapper
- def get(self):
- return self.__wrapped.Get()
- def inc(self):
- """
- Increment metric value
- """
- return self.__wrapped.Inc()
- def add(self, ui64 value):
- """
- Add the value to metric
- :param value: value to add to metric
- """
- return self.__wrapped.Add(value)
- cdef class Histogram:
- """
- Represents some value distribution
- """
- @staticmethod
- cdef Histogram from_ptr(THistogram* native):
- cdef Histogram wrapper = Histogram.__new__(Histogram, 0)
- wrapper.__is_owner = False
- wrapper.__wrapped = native
- return wrapper
- def __dealloc__(self):
- if self.__is_owner:
- del self.__wrapped
- def collect(self, double value, ui32 count=1):
- """
- Add a few points with same value to the distribution
- :param value: points' value
- :param value: point count
- """
- return self.__wrapped.Record(value, count)
|