From 428d628c7f09c16733e6f65c41a3f03ceeac4db8 Mon Sep 17 00:00:00 2001 From: LeaveMyYard <33721692+LeaveMyYard@users.noreply.github.com> Date: Mon, 24 Jul 2023 20:47:51 +0300 Subject: Refactor strategy dependancy on metrics --- examples/custom_strategy.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'examples') diff --git a/examples/custom_strategy.py b/examples/custom_strategy.py index 1b6d9d6..df6c22a 100644 --- a/examples/custom_strategy.py +++ b/examples/custom_strategy.py @@ -3,8 +3,9 @@ import pydantic as pd import robusta_krr -from robusta_krr.api.models import HistoryData, K8sObjectData, ResourceRecommendation, ResourceType, RunResult +from robusta_krr.api.models import MetricsPodData, K8sObjectData, ResourceRecommendation, ResourceType, RunResult from robusta_krr.api.strategies import BaseStrategy, StrategySettings +from robusta_krr.core.integrations.prometheus.metrics import MaxCPULoader, MaxMemoryLoader # Providing description to the settings will make it available in the CLI help @@ -19,7 +20,11 @@ class CustomStrategy(BaseStrategy[CustomStrategySettings]): Made only in order to demonstrate how to create a custom strategy. """ - def run(self, history_data: HistoryData, object_data: K8sObjectData) -> RunResult: + display_name = "custom" # The name of the strategy + rich_console = True # Whether to use rich console for the CLI + metrics = [MaxCPULoader, MaxMemoryLoader] # The metrics to use for the strategy + + def run(self, history_data: MetricsPodData, object_data: K8sObjectData) -> RunResult: return { ResourceType.CPU: ResourceRecommendation(request=self.settings.param_1, limit=None), ResourceType.Memory: ResourceRecommendation(request=self.settings.param_2, limit=self.settings.param_2), -- cgit v1.2.3