示例#1
0
    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))
示例#2
0
    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")