|
39 | 39 | or "https://westus2-2.in.applicationinsights.azure.com//v2.1/track" |
40 | 40 | ) |
41 | 41 |
|
42 | | -# Environment variables take precedence, else disable telemetry for non 'stable' builds |
43 | | -QSHARP_PYTHON_TELEMETRY = (os.environ.get("QSHARP_PYTHON_TELEMETRY") or "").lower() |
44 | | -TELEMETRY_ENABLED = ( |
45 | | - True |
46 | | - if QSHARP_PYTHON_TELEMETRY in ["1", "true", "enabled"] |
47 | | - else ( |
48 | | - False |
49 | | - if QSHARP_PYTHON_TELEMETRY in ["0", "false", "disabled", "none"] |
50 | | - else (not "dev" in QSHARP_VERSION) |
51 | | - ) |
| 42 | +# If explicitly disabled via either environment variable, disable telemetry. This takes precedence. |
| 43 | +# If explicitly enabled via either environment variable, enable telemetry. |
| 44 | +# Otherwise, enable telemetry only in release builds. |
| 45 | +_disable_values = {"0", "false", "disabled", "none"} |
| 46 | +_enable_values = {"1", "true", "enabled"} |
| 47 | +_env_values = { |
| 48 | + (os.environ.get("QSHARP_PYTHON_TELEMETRY") or "").lower(), |
| 49 | + (os.environ.get("QDK_PYTHON_TELEMETRY") or "").lower(), |
| 50 | +} |
| 51 | + |
| 52 | +# `&` here is set intersection: it yields the common values between sets. |
| 53 | +# `not _env_values & _disable_values` is True iff no disable value is present. |
| 54 | +# `bool(_env_values & _enable_values)` is True iff any enable value is present. |
| 55 | +TELEMETRY_ENABLED = not _env_values & _disable_values and ( |
| 56 | + bool(_env_values & _enable_values) or "dev" not in QSHARP_VERSION |
52 | 57 | ) |
53 | 58 |
|
54 | 59 | BATCH_INTERVAL_SEC = int(os.environ.get("QSHARP_PYTHON_TELEMETRY_INTERVAL") or 60) |
|
0 commit comments