Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 1 addition & 16 deletions src/snowflake/connector/errors.py
Original file line number Diff line number Diff line change
Expand Up @@ -161,9 +161,6 @@ def send_exception_telemetry(
telemetry_data[TelemetryField.KEY_TYPE.value] = self.errtype.value
telemetry_data[TelemetryField.KEY_SOURCE.value] = connection.application
telemetry_data[TelemetryField.KEY_EXCEPTION.value] = self.__class__.__name__
telemetry_data[TelemetryField.KEY_USES_AIO.value] = str(
self._is_aio_connection(connection)
).lower()
ts = get_time_millis()
try:
result = connection._log_telemetry(
Expand All @@ -175,7 +172,7 @@ def send_exception_telemetry(
try:
import asyncio

asyncio.get_running_loop().create_task(result)
asyncio.get_running_loop().run_until_complete(result)
except Exception:
logger.debug(
"Failed to schedule async telemetry logging.",
Expand Down Expand Up @@ -385,18 +382,6 @@ def errorhandler_make_exception(
)
return error_class(error_value)

@staticmethod
def _is_aio_connection(
connection: SnowflakeConnection | AsyncSnowflakeConnection,
) -> bool:
try:
# Try import async connection. The import may fail if aio is not installed.
from .aio._connection import SnowflakeConnection as AsyncSnowflakeConnection

return isinstance(connection, AsyncSnowflakeConnection)
except ImportError:
return False

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing this because telemetry about aio vs sync is included in application_name param in telemetry payload.


class _Warning(Exception):
"""Exception for important warnings."""
Expand Down
1 change: 0 additions & 1 deletion src/snowflake/connector/telemetry.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ class TelemetryField(Enum):
KEY_REASON = "reason"
KEY_VALUE = "value"
KEY_EXCEPTION = "exception"
KEY_USES_AIO = "uses_aio"
# Reserved UpperCamelName keys
KEY_ERROR_NUMBER = "ErrorNumber"
KEY_ERROR_MESSAGE = "ErrorMessage"
Expand Down
3 changes: 1 addition & 2 deletions test/unit/aio/test_errors_telemetry.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,11 @@ async def test_error_telemetry_async_connection():

with patch("asyncio.get_running_loop") as loop_mock:
Error(msg="kaboom", errno=654321, sqlstate="00000", connection=conn)
loop_mock.return_value.create_task.assert_called_once()
loop_mock.return_value.run_until_complete.assert_called_once()

msg = _extract_message_from_log_call(conn)
assert msg[TelemetryField.KEY_TYPE.value] == TelemetryField.SQL_EXCEPTION.value
assert msg[TelemetryField.KEY_SOURCE.value] == conn.application
assert msg[TelemetryField.KEY_EXCEPTION.value] == "Error"
assert msg[TelemetryField.KEY_USES_AIO.value] == "true"
assert TelemetryField.KEY_DRIVER_TYPE.value in msg
assert TelemetryField.KEY_DRIVER_VERSION.value in msg
1 change: 0 additions & 1 deletion test/unit/test_errors_telemetry.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,5 @@ def test_error_telemetry_sync_connection():
assert msg[TelemetryField.KEY_TYPE.value] == TelemetryField.SQL_EXCEPTION.value
assert msg[TelemetryField.KEY_SOURCE.value] == conn.application
assert msg[TelemetryField.KEY_EXCEPTION.value] == "Error"
assert msg[TelemetryField.KEY_USES_AIO.value] == "false"
assert TelemetryField.KEY_DRIVER_TYPE.value in msg
assert TelemetryField.KEY_DRIVER_VERSION.value in msg
Loading