From b32fc3865779b2ae4c889e228498031cead1591e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Herv=C3=A9?= Date: Fri, 24 Apr 2020 16:14:46 +0200 Subject: [PATCH] Break reference cycle with log formatter (#6470) Once check_id is set, we don't need to keep the reference to check. It could help garbage collect check instances. --- datadog_checks_base/datadog_checks/base/log.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/datadog_checks_base/datadog_checks/base/log.py b/datadog_checks_base/datadog_checks/base/log.py index 0f79090034a7f..60cdcf443dcea 100644 --- a/datadog_checks_base/datadog_checks/base/log.py +++ b/datadog_checks_base/datadog_checks/base/log.py @@ -43,6 +43,9 @@ def process(self, msg, kwargs): # Default to `unknown` for checks that log during # `__init__` and therefore have no `check_id` yet self.extra['_check_id'] = self.check_id or 'unknown' + if self.check_id: + # Break the reference cycle, once we resolved check_id we don't need the check anymore + self.check = None kwargs.setdefault('extra', self.extra) return msg, kwargs