From 9d504f657b2c2b98c0e0a8992f6d6e3f10c442ca Mon Sep 17 00:00:00 2001 From: Waldemar Hummer Date: Tue, 6 Feb 2024 15:22:47 +0100 Subject: [PATCH 1/2] handle analytics publishing errors more gracefully --- localstack/utils/analytics/usage.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/localstack/utils/analytics/usage.py b/localstack/utils/analytics/usage.py index a1487f52578b8..e59886a28ac57 100644 --- a/localstack/utils/analytics/usage.py +++ b/localstack/utils/analytics/usage.py @@ -1,4 +1,5 @@ import datetime +import logging import math from typing import Any @@ -7,6 +8,8 @@ from localstack.utils.analytics.events import Event, EventMetadata from localstack.utils.analytics.publisher import AnalyticsClientPublisher +LOG = logging.getLogger(__name__) + # Counters have to register with the registry collector_registry: dict[str, Any] = dict() @@ -116,6 +119,9 @@ def aggregate_and_send(): aggregated_payload = aggregate() publisher = AnalyticsClientPublisher() - publisher.publish( - [Event(name="ls:usage_analytics", metadata=metadata, payload=aggregated_payload)] - ) + try: + publisher.publish( + [Event(name="ls:usage_analytics", metadata=metadata, payload=aggregated_payload)] + ) + except Exception as e: + LOG.info("Unable to report analytics: %s", e) From 2d81292ba15d98b3e5ce01ec33d763d2530a128c Mon Sep 17 00:00:00 2001 From: Waldemar Hummer Date: Tue, 6 Feb 2024 17:45:40 +0100 Subject: [PATCH 2/2] Update localstack/utils/analytics/usage.py Co-authored-by: Thomas Rausch --- localstack/utils/analytics/usage.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/localstack/utils/analytics/usage.py b/localstack/utils/analytics/usage.py index e59886a28ac57..530e51cec79c4 100644 --- a/localstack/utils/analytics/usage.py +++ b/localstack/utils/analytics/usage.py @@ -124,4 +124,5 @@ def aggregate_and_send(): [Event(name="ls:usage_analytics", metadata=metadata, payload=aggregated_payload)] ) except Exception as e: - LOG.info("Unable to report analytics: %s", e) + if config.DEBUG_ANALYTICS: + LOG.exception("Error while publishing analytics")