From 084ffcac86788ac18f31d66d0e5de71c4f843358 Mon Sep 17 00:00:00 2001 From: gifrerenom <lluis.gifre@cttc.es> Date: Tue, 14 Nov 2023 10:49:22 +0000 Subject: [PATCH] Forecaster component: - Fixed checks in Forecaster::compute_forecast - Fixed unitary tests log levels --- src/forecaster/service/Forecaster.py | 13 +++++++++++-- src/forecaster/tests/test_unitary.py | 4 ++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/forecaster/service/Forecaster.py b/src/forecaster/service/Forecaster.py index 1f0f606ca..d2b5b4d09 100644 --- a/src/forecaster/service/Forecaster.py +++ b/src/forecaster/service/Forecaster.py @@ -24,10 +24,19 @@ def compute_forecast(samples : pandas.DataFrame, kpi_id : KpiId) -> float: samples = samples[samples.kpi_id == kpi_uuid].copy() num_samples = samples.shape[0] + if num_samples <= 0: + MSG = 'KpiId({:s}): Wrong number of samples: {:d}' + raise Exception(MSG.format(kpi_uuid, num_samples)) + num_samples_test = math.ceil(num_samples / FORECAST_TO_HISTORY_RATIO) + if num_samples_test <= 0: + MSG = 'KpiId({:s}): Wrong number of test samples: {:d}' + raise Exception(MSG.format(kpi_uuid, num_samples_test )) + num_samples_train = num_samples - num_samples_test - if num_samples_train <= 0: raise Exception('Wrong number of train samples: {:d}'.format(num_samples_train)) - if num_samples_test <= 0: raise Exception('Wrong number of test samples: {:d}'.format(num_samples_test )) + if num_samples_train <= 0: + MSG = 'KpiId({:s}): Wrong number of train samples: {:d}' + raise Exception(MSG.format(kpi_uuid, num_samples_train)) samples['timestamp'] = pandas.to_datetime(samples['timestamp']) - datetime(1970, 1, 1, tzinfo=timezone.utc) samples['timestamp'] = samples['timestamp'].dt.total_seconds() diff --git a/src/forecaster/tests/test_unitary.py b/src/forecaster/tests/test_unitary.py index eb952cfda..a4063931f 100644 --- a/src/forecaster/tests/test_unitary.py +++ b/src/forecaster/tests/test_unitary.py @@ -34,8 +34,12 @@ from .PrepareTestScenario import ( # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) +logging.getLogger('common.tests.InMemoryObjectDatabase').setLevel(logging.INFO) +logging.getLogger('common.tests.InMemoryTimeSeriesDatabase').setLevel(logging.INFO) logging.getLogger('common.tests.MockServicerImpl_Context').setLevel(logging.INFO) +logging.getLogger('common.tests.MockServicerImpl_Monitoring').setLevel(logging.INFO) logging.getLogger('context.client.ContextClient').setLevel(logging.INFO) +logging.getLogger('monitoring.client.MonitoringClient').setLevel(logging.INFO) JSON_ADMIN_CONTEXT_ID = json_context_id(DEFAULT_CONTEXT_NAME) ADMIN_CONTEXT_ID = ContextId(**JSON_ADMIN_CONTEXT_ID) -- GitLab