コード例 #1
0
 def reset_loggers(self):
     """
     The loggers maintain hash-tables in memory and they need to be cleaned up from time to time.
     For reference, please check azurelinuxagent.common.logger.Logger and
     azurelinuxagent.common.event.EventLogger classes
     """
     logger.reset_periodic()
コード例 #2
0
ファイル: test_logger.py プロジェクト: Azure/WALinuxAgent
    def test_periodic_does_not_emit_if_previously_sent(self, mock_info):
        logger.reset_periodic()

        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        self.assertEqual(1, mock_info.call_count)

        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        self.assertEqual(1, mock_info.call_count)
コード例 #3
0
ファイル: test_logger.py プロジェクト: credbbl/WALinuxAgent
    def test_periodic_does_not_emit_if_previously_sent(self, mock_info):
        logger.reset_periodic()

        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        self.assertEqual(1, mock_info.call_count)

        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        self.assertEqual(1, mock_info.call_count)
コード例 #4
0
    def setUp(self):
        AgentTestCase.setUp(self)

        self.lib_dir = tempfile.mkdtemp()
        self.event_dir = os.path.join(self.lib_dir, EVENTS_DIRECTORY)
        fileutil.mkdir(self.event_dir)

        self.log_file = tempfile.mkstemp(prefix="logfile-")[1]

        logger.reset_periodic()
コード例 #5
0
ファイル: test_logger.py プロジェクト: credbbl/WALinuxAgent
    def test_periodic_emits_after_elapsed_delta(self, mock_info):
        logger.reset_periodic()

        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        self.assertEqual(1, mock_info.call_count)

        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        self.assertEqual(1, mock_info.call_count)

        logger.DEFAULT_LOGGER.periodic_messages[hash(_MSG)] = \
            datetime.now() - logger.EVERY_DAY - logger.EVERY_HOUR
        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        self.assertEqual(2, mock_info.call_count)
コード例 #6
0
ファイル: test_logger.py プロジェクト: Azure/WALinuxAgent
    def test_periodic_emits_after_elapsed_delta(self, mock_info):
        logger.reset_periodic()

        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        self.assertEqual(1, mock_info.call_count)

        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        self.assertEqual(1, mock_info.call_count)

        logger.DEFAULT_LOGGER.periodic_messages[hash(_MSG)] = \
            datetime.now() - logger.EVERY_DAY - logger.EVERY_HOUR
        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        self.assertEqual(2, mock_info.call_count)
コード例 #7
0
    def reset_loggers(self):
        """
        The loggers maintain hash-tables in memory and they need to be cleaned up from time to time.
        For reference, please check azurelinuxagent.common.logger.Logger and
        azurelinuxagent.common.event.EventLogger classes
        """
        time_now = datetime.datetime.utcnow()
        if not self.last_reset_loggers_time:
            self.last_reset_loggers_time = time_now

        if time_now >= (self.last_reset_loggers_time +
                        MonitorHandler.RESET_LOGGERS_PERIOD):
            try:
                logger.reset_periodic()
            finally:
                self.last_reset_loggers_time = time_now
コード例 #8
0
ファイル: test_monitor.py プロジェクト: narrieta/WALinuxAgent
    def test_it_should_clear_periodic_log_messages(self):
        logger.reset_periodic()

        # Adding 100 different messages
        expected = 100
        for i in range(expected):
            logger.periodic_info(logger.EVERY_DAY, "Test {0}".format(i))

        actual = len(logger.DEFAULT_LOGGER.periodic_messages)

        if actual != expected:
            raise Exception('Test setup error: the periodic messages were not added. Got: {0} Expected: {1}'.format(actual, expected))

        ResetPeriodicLogMessages().run()

        self.assertEqual(0, len(logger.DEFAULT_LOGGER.periodic_messages), "The monitor thread did not reset the periodic log messages")
コード例 #9
0
    def report_all_tracked():
        collected_metrics = {}

        for name, cgroup_metrics in CGroupsTelemetry._cgroup_metrics.items():
            perf_metric = CGroupsTelemetry._process_cgroup_metric(cgroup_metrics)

            if perf_metric:
                collected_metrics[name] = perf_metric

            cgroup_metrics.clear()

        # Doing cleanup after the metrics have already been collected.
        for key in [key for key in CGroupsTelemetry._cgroup_metrics if
                    CGroupsTelemetry._cgroup_metrics[key].marked_for_delete]:
            del CGroupsTelemetry._cgroup_metrics[key]

        logger.reset_periodic()

        return collected_metrics
コード例 #10
0
 def tearDown(self):
     AgentTestCase.tearDown(self)
     logger.reset_periodic()
     fileutil.rm_dirs(self.event_dir)
     logger.DEFAULT_LOGGER.appenders *= 0
コード例 #11
0
 def setUp(self):
     AgentTestCase.setUp(self)
     logger.reset_periodic()
コード例 #12
0
 def tearDown(self):
     AgentTestCase.tearDown(self)
     logger.reset_periodic()
コード例 #13
0
ファイル: test_logger.py プロジェクト: credbbl/WALinuxAgent
    def test_periodic_forwards_message_and_args(self, mock_info):
        logger.reset_periodic()

        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        mock_info.assert_called_once_with(_MSG, *_DATA)
コード例 #14
0
ファイル: test_logger.py プロジェクト: Azure/WALinuxAgent
    def test_periodic_forwards_message_and_args(self, mock_info):
        logger.reset_periodic()

        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        mock_info.assert_called_once_with(_MSG, *_DATA)
コード例 #15
0
 def _operation(self):
     logger.reset_periodic()
コード例 #16
0
ファイル: test_logger.py プロジェクト: credbbl/WALinuxAgent
    def test_periodic_emits_if_not_previously_sent(self, mock_info):
        logger.reset_periodic()

        logger.periodic(logger.EVERY_DAY, _MSG, *_DATA)
        mock_info.assert_called_once()
コード例 #17
0
ファイル: monitor.py プロジェクト: vyadavmsft/WALinuxAgent
 def _operation_impl():
     logger.reset_periodic()