|
15 | 15 | from .compat import OK |
16 | 16 | from .description import CLIENT_NAME, SNOWFLAKE_CONNECTOR_VERSION |
17 | 17 | from .secret_detector import SecretDetector |
| 18 | +from .telemetry import TelemetryField, generate_telemetry_data |
18 | 19 | from .test_util import ENABLE_TELEMETRY_LOG, rt_plain_logger |
19 | 20 | from .vendored import requests |
20 | 21 |
|
@@ -122,10 +123,14 @@ def generate_tags(self): |
122 | 123 |
|
123 | 124 | telemetry = TelemetryService.get_instance() |
124 | 125 | # Add telemetry service generated tags |
125 | | - tags["driver"] = CLIENT_NAME |
126 | | - tags["version"] = str(SNOWFLAKE_CONNECTOR_VERSION) |
127 | | - tags["telemetryServerDeployment"] = telemetry.deployment.name |
128 | | - tags["connectionString"] = telemetry.get_connection_string() |
| 126 | + tags[TelemetryField.KEY_OOB_DRIVER] = CLIENT_NAME |
| 127 | + tags[TelemetryField.KEY_OOB_VERSION] = str(SNOWFLAKE_CONNECTOR_VERSION) |
| 128 | + tags[ |
| 129 | + TelemetryField.KEY_OOB_TELEMETRY_SERVER_DEPLOYMENT |
| 130 | + ] = telemetry.deployment.name |
| 131 | + tags[ |
| 132 | + TelemetryField.KEY_OOB_CONNECTION_STRING |
| 133 | + ] = telemetry.get_connection_string() |
129 | 134 | if telemetry.context and len(telemetry.context) > 0: |
130 | 135 | for k, v in telemetry.context.items(): |
131 | 136 | if v is not None: |
@@ -339,14 +344,18 @@ def log_ocsp_exception( |
339 | 344 | if self.enabled: |
340 | 345 | event_name = "OCSPException" |
341 | 346 | if exception is not None: |
342 | | - telemetry_data["exceptionMessage"] = str(exception) |
| 347 | + telemetry_data[ |
| 348 | + TelemetryField.KEY_OOB_EXCEPTION_MESSAGE.value |
| 349 | + ] = str(exception) |
343 | 350 | if stack_trace is not None: |
344 | | - telemetry_data["exceptionStackTrace"] = stack_trace |
| 351 | + telemetry_data[ |
| 352 | + TelemetryField.KEY_OOB_EXCEPTION_STACK_TRACE.value |
| 353 | + ] = stack_trace |
345 | 354 |
|
346 | 355 | if tags is None: |
347 | 356 | tags = dict() |
348 | 357 |
|
349 | | - tags["eventType"] = event_type |
| 358 | + tags[TelemetryField.KEY_OOB_EVENT_TYPE.value] = event_type |
350 | 359 |
|
351 | 360 | log_event = TelemetryLogEvent( |
352 | 361 | name=event_name, tags=tags, urgent=urgent, value=telemetry_data |
@@ -377,33 +386,53 @@ def log_http_request_error( |
377 | 386 | tags = dict() |
378 | 387 | try: |
379 | 388 | if self.enabled: |
380 | | - telemetry_data = dict() |
381 | 389 | response_status_code = -1 |
382 | 390 | # This mimics the output of HttpRequestBase.toString() from JBDC |
383 | | - telemetry_data["request"] = f"{method} {url}" |
384 | | - telemetry_data["sqlState"] = sqlstate |
385 | | - telemetry_data["errorCode"] = errno |
| 391 | + telemetry_data = generate_telemetry_data( |
| 392 | + from_dict={ |
| 393 | + TelemetryField.KEY_OOB_REQUEST.value: f"{method} {url}", |
| 394 | + TelemetryField.KEY_OOB_SQL_STATE.value: sqlstate, |
| 395 | + TelemetryField.KEY_OOB_ERROR_CODE.value: errno, |
| 396 | + }, |
| 397 | + is_oob_telemetry=True, |
| 398 | + ) |
386 | 399 | if response: |
387 | | - telemetry_data["response"] = response.json() |
388 | | - telemetry_data["responseStatusLine"] = str(response.reason) |
| 400 | + telemetry_data[ |
| 401 | + TelemetryField.KEY_OOB_RESPONSE.value |
| 402 | + ] = response.json() |
| 403 | + telemetry_data[ |
| 404 | + TelemetryField.KEY_OOB_RESPONSE_STATUS_LINE.value |
| 405 | + ] = str(response.reason) |
389 | 406 | if response.status_code: |
390 | 407 | response_status_code = str(response.status_code) |
391 | | - telemetry_data["responseStatusCode"] = response_status_code |
| 408 | + telemetry_data[ |
| 409 | + TelemetryField.KEY_OOB_RESPONSE_STATUS_CODE.value |
| 410 | + ] = response_status_code |
392 | 411 | if retry_timeout: |
393 | | - telemetry_data["retryTimeout"] = str(retry_timeout) |
| 412 | + telemetry_data[TelemetryField.KEY_OOB_RETRY_TIMEOUT.value] = str( |
| 413 | + retry_timeout |
| 414 | + ) |
394 | 415 | if retry_count: |
395 | | - telemetry_data["retryCount"] = str(retry_count) |
| 416 | + telemetry_data[TelemetryField.KEY_OOB_RETRY_COUNT.value] = str( |
| 417 | + retry_count |
| 418 | + ) |
396 | 419 | if exception: |
397 | | - telemetry_data["exceptionMessage"] = str(exception) |
| 420 | + telemetry_data[ |
| 421 | + TelemetryField.KEY_OOB_EXCEPTION_MESSAGE.value |
| 422 | + ] = str(exception) |
398 | 423 | if stack_trace: |
399 | | - telemetry_data["exceptionStackTrace"] = stack_trace |
| 424 | + telemetry_data[ |
| 425 | + TelemetryField.KEY_OOB_EXCEPTION_STACK_TRACE.value |
| 426 | + ] = stack_trace |
400 | 427 |
|
401 | 428 | if tags is None: |
402 | 429 | tags = dict() |
403 | 430 |
|
404 | | - tags["responseStatusCode"] = response_status_code |
405 | | - tags["sqlState"] = str(sqlstate) |
406 | | - tags["errorCode"] = errno |
| 431 | + tags[ |
| 432 | + TelemetryField.KEY_OOB_RESPONSE_STATUS_CODE.value |
| 433 | + ] = response_status_code |
| 434 | + tags[TelemetryField.KEY_OOB_SQL_STATE.value] = str(sqlstate) |
| 435 | + tags[TelemetryField.KEY_OOB_ERROR_CODE.value] = errno |
407 | 436 |
|
408 | 437 | log_event = TelemetryLogEvent( |
409 | 438 | name=event_name, tags=tags, value=telemetry_data, urgent=urgent |
|
0 commit comments