in model/traffic/heron/prophet.py [0:0]
def __init__(self, config: dict, metrics_client: HeronMetricsClient,
graph_client: GremlinClient) -> None:
super().__init__(config, metrics_client, graph_client)
self.metrics_client: HeronMetricsClient
if "heron.tracker.url" in config:
self.tracker_url: str = \
config["heron.tracker.url"]
else:
tracker_msg: str = (
"The Heron Tracker URL was not supplied in the configuration "
"dictionary given to the Prophet traffic model. Please check "
"the keys under the 'heron.traffic.model.config' in the main "
"configuration file")
LOG.error(tracker_msg)
raise RuntimeError(tracker_msg)
if "prophet.model.default.source.hours" in config:
self.default_source_hours: float = \
config["prophet.model.default.source.hours"]
else:
self.default_source_hours = 24
LOG.warning("Default source hours were not supplied via "
"configuration file. Setting to %d hours.",
self.default_source_hours)
if "prophet.model.default.future.mins" in config:
self.default_future_minutes: int = \
config["prophet.model.default.future.mins"]
else:
self.default_future_minutes = 30
LOG.warning("Default future minutes parameter was not supplied "
"via configuration file. Setting to %d minutes.",
self.default_future_minutes)
if "prophet.model.default.metrics_sample_period" in config:
self.default_metrics_sample_period: int = \
config["prophet.model.default.metrics_sample_period"]
else:
self.default_metrics_sample_period = 60
LOG.warning("Default metrics sample period parameter was not supplied "
"via configuration file. Setting to %d minutes.",
self.default_metrics_sample_period)
if "prophet.model.quantiles" in config:
self.quantiles: List[int] = config["prophet.model.quantiles"]
else:
LOG.warning("Quantile values were not set via configuration file "
" using: 10, 90, 95, 99 as defaults.")
self.quantiles = [10, 90, 95, 99]