in aws_advanced_python_wrapper/host_monitoring_plugin.py [0:0]
def start_monitoring(self,
conn: Connection,
host_aliases: FrozenSet[str],
host_info: HostInfo,
props: Properties,
failure_detection_time_ms: int,
failure_detection_interval_ms: int,
failure_detection_count: int) -> MonitoringContext:
if not host_aliases:
raise AwsWrapperError(Messages.get_formatted("MonitorService.EmptyAliasSet", host_info))
monitor: Optional[Monitor] = None if self._cached_monitor is None else self._cached_monitor()
if monitor is None \
or monitor.is_stopped \
or self._cached_monitor_aliases is None \
or self._cached_monitor_aliases != host_aliases:
monitor = self._monitor_container.get_or_create_monitor(
host_aliases, lambda: self._create_monitor(host_info, props, self._monitor_container))
self._cached_monitor = ref(monitor)
self._cached_monitor_aliases = host_aliases
context = MonitoringContext(
monitor, conn, self._plugin_service.driver_dialect, failure_detection_time_ms,
failure_detection_interval_ms, failure_detection_count, self._aborted_connections_counter)
monitor.start_monitoring(context)
return context