diff --git a/metadata-ingestion/src/datahub/telemetry/telemetry.py b/metadata-ingestion/src/datahub/telemetry/telemetry.py index 23790876cde6f5..8eaad4c8dc9b88 100644 --- a/metadata-ingestion/src/datahub/telemetry/telemetry.py +++ b/metadata-ingestion/src/datahub/telemetry/telemetry.py @@ -194,17 +194,6 @@ def wrapper(*args: Any, **kwargs: Any) -> Any: {"action": action, "status": "completed"}, ) return res - # Catch general exceptions - except Exception as e: - telemetry_instance.ping( - "function-call", - { - "action": action, - "status": "error", - "error": get_full_class_name(e), - }, - ) - raise e # System exits (used in ingestion and Docker commands) are not caught by the exception handler, # so we need to catch them here. except SystemExit as e: @@ -237,4 +226,16 @@ def wrapper(*args: Any, **kwargs: Any) -> Any: ) sys.exit(0) + # Catch general exceptions + except Exception as e: + telemetry_instance.ping( + "function-call", + { + "action": action, + "status": "error", + "error": get_full_class_name(e), + }, + ) + raise e + return wrapper