Skip to content
Draft
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
23 changes: 19 additions & 4 deletions src/snowflake/snowpark/mock/_telemetry.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import json
import logging
import os
import queue as _queue
import threading
import uuid
from datetime import datetime
Expand All @@ -13,7 +14,6 @@
from typing import Optional

from snowflake.connector.secret_detector import SecretDetector
from snowflake.connector.telemetry_oob import TelemetryService
from snowflake.snowpark._internal.utils import (
get_os_name,
get_python_version,
Expand Down Expand Up @@ -83,17 +83,29 @@ class LocalTestTelemetryEventType(Enum):
SESSION_CONNECTION = "session"


class LocalTestOOBTelemetryService(TelemetryService):
class LocalTestOOBTelemetryService:
PROD = "https://client-telemetry.snowflakecomputing.com/enqueue"

_instance: "LocalTestOOBTelemetryService | None" = None
_instance_lock: threading.Lock = threading.Lock()

@classmethod
def get_instance(cls) -> "LocalTestOOBTelemetryService":
if cls._instance is None:
with cls._instance_lock:
if cls._instance is None:
cls._instance = cls()
return cls._instance

def __init__(self) -> None:
super().__init__()
self._is_internal_usage = bool(
os.getenv("SNOWPARK_LOCAL_TESTING_INTERNAL_TELEMETRY", False)
)
self._deployment_url = self.PROD
self._enable = True
self._enabled = True
self._lock = threading.RLock()
self.queue: _queue.Queue = _queue.Queue()
self.batch_size: int = 100

def _upload_payload(self, payload) -> None:
if not REQUESTS_AVAILABLE:
Expand Down Expand Up @@ -189,6 +201,9 @@ def export_queue_to_string(self):
_, masked_text, _ = SecretDetector.mask_secrets(payload)
return masked_text

def close(self) -> None:
self.flush()

def log_session_creation(self, connection_uuid: Optional[str] = None):
try:
telemetry_data = generate_base_oob_telemetry_data_dict(
Expand Down
Loading