Source code for gigl.common.metrics.metrics_interface

from abc import ABC, abstractmethod


[docs] class OpsMetricPublisher(ABC): """ Interface to implement to publish metrics to some monitoring system. To publish metrics to a monitoring system, you need to implement a class with this interface and expose the class path in the task config file: ``` metrics_config: metrics_cls_path: "path.to.the.class.that.implements.OpsMetricPublisher" ``` """ @abstractmethod
[docs] def add_count(self, metric_name: str, count: int): pass
@abstractmethod
[docs] def add_timer(self, metric_name: str, timer: int): pass
@abstractmethod
[docs] def add_level(self, metric_name: str, level: int): pass
@abstractmethod
[docs] def add_gauge(self, metric_name: str, gauge: float): pass
@abstractmethod
[docs] def flush_metrics(self): pass