From 537afd947b366fe3ac45deebc02158b7a0934538 Mon Sep 17 00:00:00 2001 From: Adam Furche Date: Fri, 27 Dec 2024 16:06:27 +0100 Subject: [PATCH 1/2] Seperate ThreadPoolExecutor for heartbeat --- dynatrace_extension/__about__.py | 2 +- dynatrace_extension/sdk/extension.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dynatrace_extension/__about__.py b/dynatrace_extension/__about__.py index 9b80994..e9b3d9c 100644 --- a/dynatrace_extension/__about__.py +++ b/dynatrace_extension/__about__.py @@ -3,4 +3,4 @@ # SPDX-License-Identifier: MIT -__version__ = "1.3.0" +__version__ = "1.4.0" diff --git a/dynatrace_extension/sdk/extension.py b/dynatrace_extension/sdk/extension.py index bafe34a..e446fce 100644 --- a/dynatrace_extension/sdk/extension.py +++ b/dynatrace_extension/sdk/extension.py @@ -32,6 +32,7 @@ CALLBACKS_THREAD_POOL_SIZE = 100 INTERNAL_THREAD_POOL_SIZE = 20 +HEARTBEAT_THREAD_POOL_SIZE = 10 RFC_3339_FORMAT = "%Y-%m-%dT%H:%M:%SZ" DATASOURCE_TYPE = "python" @@ -220,6 +221,7 @@ def __init__(self, name: str = "") -> None: # Executors for the callbacks and internal methods self._callbacks_executor = ThreadPoolExecutor(max_workers=CALLBACKS_THREAD_POOL_SIZE) self._internal_executor = ThreadPoolExecutor(max_workers=INTERNAL_THREAD_POOL_SIZE) + self._heartbeat_executor = ThreadPoolExecutor(max_workers=HEARTBEAT_THREAD_POOL_SIZE) # Extension metrics self._metrics_lock = RLock() @@ -827,7 +829,7 @@ def _timediff_iteration(self): self._scheduler.enterabs(next_timestamp, 1, self._timediff_iteration) def _heartbeat_iteration(self): - self._internal_executor.submit(self._heartbeat) + self._heartbeat_executor.submit(self._heartbeat) next_timestamp = self._get_and_set_next_internal_callback_timestamp("heartbeat", HEARTBEAT_INTERVAL) self._scheduler.enterabs(next_timestamp, 2, self._heartbeat_iteration) From 8bdbaad600c6463e7dd07f6eced949fa9dd0b515 Mon Sep 17 00:00:00 2001 From: dlopes7 Date: Fri, 27 Dec 2024 09:19:00 -0600 Subject: [PATCH 2/2] make it a patch change, no end user changes --- dynatrace_extension/__about__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dynatrace_extension/__about__.py b/dynatrace_extension/__about__.py index e9b3d9c..4565552 100644 --- a/dynatrace_extension/__about__.py +++ b/dynatrace_extension/__about__.py @@ -3,4 +3,4 @@ # SPDX-License-Identifier: MIT -__version__ = "1.4.0" +__version__ = "1.3.1"