diff options
| author | LeaveMyYard <33721692+LeaveMyYard@users.noreply.github.com> | 2023-07-24 20:47:51 +0300 |
|---|---|---|
| committer | LeaveMyYard <33721692+LeaveMyYard@users.noreply.github.com> | 2023-07-24 20:47:51 +0300 |
| commit | 428d628c7f09c16733e6f65c41a3f03ceeac4db8 (patch) | |
| tree | ff6a131df5811da8dab6f6bf34819fd2e7c75959 /examples/custom_strategy.py | |
| parent | 2d53179a8f81df7e6ff7bee1ab0b19b12e82934a (diff) | |
Refactor strategy dependancy on metrics
Diffstat (limited to 'examples/custom_strategy.py')
| -rw-r--r-- | examples/custom_strategy.py | 9 |
1 files changed, 7 insertions, 2 deletions
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), |
