Skip to content

Commit 7bf1a8c

Browse files
committed
Introduce the send event once to the IterativeTelemetryLogger class
It will be used by datachain to send events to the telemetry server
1 parent d236bd9 commit 7bf1a8c

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/iterative_telemetry/__init__.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ def __init__(
5959
logger.setLevel(logging.DEBUG)
6060
logger.debug("IterativeTelemetryLogger is in debug mode")
6161
self._current_event: Optional[TelemetryEvent] = None
62+
self._event_sent = False
6263

6364
def log_param(self, key: str, value):
6465
if self._current_event:
@@ -133,6 +134,22 @@ def send_event(
133134
use_daemon=use_daemon,
134135
)
135136

137+
def send_event_once(
138+
self, interface: str,
139+
action: str, error: str = None,
140+
use_thread: bool = False,
141+
use_daemon: bool = True,
142+
**kwargs
143+
):
144+
if self._event_sent:
145+
return
146+
147+
self.send_event(
148+
interface, action, error=error, use_thread=use_thread, use_daemon=use_daemon, **kwargs
149+
)
150+
self._event_sent = True
151+
152+
136153
def is_enabled(self):
137154
return (
138155
os.environ.get(DO_NOT_TRACK_ENV, None) is None and self.enabled()

0 commit comments

Comments
 (0)