def __init__(self, port, agent_config, watchdog=True, skip_ssl_validation=False, use_simple_http_client=False): self._port = int(port) self._agent_config = agent_config self.flush_interval = (int(agent_config.get('check_freq')) / 2) * 1000 self._metrics = {} transaction.MetricTransaction.set_application(self) transaction.MetricTransaction.set_endpoints(mon.MonAPI(agent_config)) self._tr_manager = transaction.TransactionManager( MAX_WAIT_FOR_REPLAY, MAX_QUEUE_SIZE, THROTTLING_DELAY, agent_config) transaction.MetricTransaction.set_tr_manager(self._tr_manager) self._watchdog = None self.skip_ssl_validation = skip_ssl_validation or agent_config.get( 'skip_ssl_validation', False) self.use_simple_http_client = use_simple_http_client if self.skip_ssl_validation: log.info( "Skipping SSL hostname validation, useful when using a transparent proxy" ) if watchdog: watchdog_timeout = self.flush_interval * WATCHDOG_INTERVAL_MULTIPLIER self._watchdog = util.Watchdog(watchdog_timeout, max_mem_mb=agent_config.get( 'limit_memory_consumption', None))
def __init__(self, port, agent_config, skip_ssl_validation=False, use_simple_http_client=False): self._port = int(port) self._agent_config = agent_config self.flush_interval = (int(agent_config.get('check_freq')) / 2) * 1000 self._metrics = {} transaction.MetricTransaction.set_application(self) transaction.MetricTransaction.set_endpoints(mon.MonascaAPI(agent_config)) self._tr_manager = transaction.TransactionManager(MAX_WAIT_FOR_REPLAY, MAX_QUEUE_SIZE, THROTTLING_DELAY, agent_config) transaction.MetricTransaction.set_tr_manager(self._tr_manager) self.skip_ssl_validation = skip_ssl_validation or agent_config.get( 'skip_ssl_validation', False) self.use_simple_http_client = use_simple_http_client if self.skip_ssl_validation: log.info("Skipping SSL hostname validation, useful when using a transparent proxy")