|
8 | 8 | - NEMO_TELEMETRY_ENABLED: Whether telemetry is enabled. |
9 | 9 | - NEMO_DEPLOYMENT_TYPE: The deployment type the event came from. |
10 | 10 | - NEMO_TELEMETRY_ENDPOINT: The endpoint to send the telemetry events to. |
| 11 | +- NEMO_SESSION_PREFIX: Optional prefix to add to session IDs. |
11 | 12 | """ |
12 | 13 |
|
13 | 14 | from __future__ import annotations |
|
18 | 19 | from dataclasses import dataclass |
19 | 20 | from datetime import datetime, timezone |
20 | 21 | from enum import Enum |
21 | | -from typing import TYPE_CHECKING, Any, ClassVar |
| 22 | +from typing import Any, ClassVar |
22 | 23 |
|
23 | 24 | from pydantic import BaseModel, Field |
24 | 25 |
|
25 | 26 | from data_designer.lazy_heavy_imports import httpx |
26 | 27 |
|
27 | | -if TYPE_CHECKING: |
28 | | - import httpx |
29 | | - |
30 | 28 | TELEMETRY_ENABLED = os.getenv("NEMO_TELEMETRY_ENABLED", "true").lower() in ("1", "true", "yes") |
31 | 29 | CLIENT_ID = "184482118588404" |
32 | 30 | NEMO_TELEMETRY_VERSION = "nemo-telemetry/1.0" |
|
35 | 33 | "NEMO_TELEMETRY_ENDPOINT", "https://events.telemetry.data.nvidia.com/v1.1/events/json" |
36 | 34 | ).lower() |
37 | 35 | CPU_ARCHITECTURE = platform.uname().machine |
| 36 | +SESSION_PREFIX = os.getenv("NEMO_SESSION_PREFIX") |
38 | 37 |
|
39 | 38 |
|
40 | 39 | class NemoSourceEnum(str, Enum): |
@@ -231,7 +230,11 @@ def __init__( |
231 | 230 | self._timer_task: asyncio.Task | None = None |
232 | 231 | self._running = False |
233 | 232 | self._source_client_version = source_client_version |
234 | | - self._session_id = session_id |
| 233 | + # Apply session prefix if environment variable is set |
| 234 | + if SESSION_PREFIX: |
| 235 | + self._session_id = f"{SESSION_PREFIX}{session_id}" |
| 236 | + else: |
| 237 | + self._session_id = session_id |
235 | 238 |
|
236 | 239 | async def astart(self) -> None: |
237 | 240 | if self._running: |
|
0 commit comments