added versioning
This commit is contained in:
@@ -29,6 +29,8 @@ from lib.data_types import (
|
|||||||
RequestMetrics
|
RequestMetrics
|
||||||
)
|
)
|
||||||
|
|
||||||
|
VERSION = "0.1.0"
|
||||||
|
|
||||||
MSG_HISTORY_LEN = 100
|
MSG_HISTORY_LEN = 100
|
||||||
log = logging.getLogger(__file__)
|
log = logging.getLogger(__file__)
|
||||||
|
|
||||||
@@ -57,6 +59,7 @@ class Backend:
|
|||||||
log_actions: List[Tuple[LogAction, str]]
|
log_actions: List[Tuple[LogAction, str]]
|
||||||
max_wait_time: float = 10.0
|
max_wait_time: float = 10.0
|
||||||
reqnum = -1
|
reqnum = -1
|
||||||
|
version = VERSION
|
||||||
msg_history = []
|
msg_history = []
|
||||||
sem: Semaphore = dataclasses.field(default_factory=Semaphore)
|
sem: Semaphore = dataclasses.field(default_factory=Semaphore)
|
||||||
unsecured: bool = dataclasses.field(
|
unsecured: bool = dataclasses.field(
|
||||||
@@ -65,6 +68,7 @@ class Backend:
|
|||||||
|
|
||||||
def __post_init__(self):
|
def __post_init__(self):
|
||||||
self.metrics = Metrics()
|
self.metrics = Metrics()
|
||||||
|
self.metrics._set_version(self.version)
|
||||||
self._total_pubkey_fetch_errors = 0
|
self._total_pubkey_fetch_errors = 0
|
||||||
self._pubkey = self._fetch_pubkey()
|
self._pubkey = self._fetch_pubkey()
|
||||||
self.__start_healthcheck: bool = False
|
self.__start_healthcheck: bool = False
|
||||||
|
|||||||
@@ -273,6 +273,7 @@ class AutoScalerData:
|
|||||||
"""Data that is reported to autoscaler"""
|
"""Data that is reported to autoscaler"""
|
||||||
|
|
||||||
id: int
|
id: int
|
||||||
|
version: str
|
||||||
loadtime: float
|
loadtime: float
|
||||||
cur_load: float
|
cur_load: float
|
||||||
rej_load: float
|
rej_load: float
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ def get_url() -> str:
|
|||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class Metrics:
|
class Metrics:
|
||||||
|
version: str = "0"
|
||||||
last_metric_update: float = 0.0
|
last_metric_update: float = 0.0
|
||||||
last_request_served: float = 0.0
|
last_request_served: float = 0.0
|
||||||
update_pending: bool = False
|
update_pending: bool = False
|
||||||
@@ -120,6 +121,9 @@ class Metrics:
|
|||||||
self.model_metrics.set_errored(error_msg)
|
self.model_metrics.set_errored(error_msg)
|
||||||
self.system_metrics.model_is_loaded = True
|
self.system_metrics.model_is_loaded = True
|
||||||
|
|
||||||
|
def _set_version(self, version: str) -> None:
|
||||||
|
self.version = version
|
||||||
|
|
||||||
#######################################Private#######################################
|
#######################################Private#######################################
|
||||||
|
|
||||||
def __send_delete_requests_and_reset(self):
|
def __send_delete_requests_and_reset(self):
|
||||||
@@ -154,6 +158,7 @@ class Metrics:
|
|||||||
def compute_autoscaler_data() -> AutoScalerData:
|
def compute_autoscaler_data() -> AutoScalerData:
|
||||||
return AutoScalerData(
|
return AutoScalerData(
|
||||||
id=self.id,
|
id=self.id,
|
||||||
|
version=self.version,
|
||||||
loadtime=(self.system_metrics.model_loading_time or 0.0),
|
loadtime=(self.system_metrics.model_loading_time or 0.0),
|
||||||
new_load=self.model_metrics.workload_processing,
|
new_load=self.model_metrics.workload_processing,
|
||||||
cur_load=self.model_metrics.cur_load,
|
cur_load=self.model_metrics.cur_load,
|
||||||
|
|||||||
Reference in New Issue
Block a user