Commit 084ffcac authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Forecaster component:

- Fixed checks in Forecaster::compute_forecast
- Fixed unitary tests log levels
parent 0201c74b
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -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()
+4 −0
Original line number Diff line number Diff line
@@ -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)