diff options
Diffstat (limited to 'scripts/telemetry_utils.js')
| -rw-r--r-- | scripts/telemetry_utils.js | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/scripts/telemetry_utils.js b/scripts/telemetry_utils.js index 62eb910b..05f607a2 100644 --- a/scripts/telemetry_utils.js +++ b/scripts/telemetry_utils.js @@ -10,7 +10,7 @@ import path from 'path'; import fs from 'fs'; import net from 'net'; import os from 'os'; -import { execSync } from 'child_process'; // Removed spawn, it's not used here +import { execSync } from 'child_process'; import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); @@ -251,15 +251,20 @@ export async function ensureBinary( export function manageTelemetrySettings( enable, oTelEndpoint = 'http://localhost:4317', + target = 'local', originalSandboxSettingToRestore, ) { const workspaceSettings = readJsonFile(WORKSPACE_SETTINGS_FILE); const currentSandboxSetting = workspaceSettings.sandbox; let settingsModified = false; + if (typeof workspaceSettings.telemetry !== 'object') { + workspaceSettings.telemetry = {}; + } + if (enable) { - if (workspaceSettings.telemetry !== true) { - workspaceSettings.telemetry = true; + if (workspaceSettings.telemetry.enabled !== true) { + workspaceSettings.telemetry.enabled = true; settingsModified = true; console.log('⚙️ Enabled telemetry in workspace settings.'); } @@ -268,22 +273,36 @@ export function manageTelemetrySettings( settingsModified = true; console.log('✅ Disabled sandbox mode for telemetry.'); } - if (workspaceSettings.telemetryOtlpEndpoint !== oTelEndpoint) { - workspaceSettings.telemetryOtlpEndpoint = oTelEndpoint; + if (workspaceSettings.telemetry.otlpEndpoint !== oTelEndpoint) { + workspaceSettings.telemetry.otlpEndpoint = oTelEndpoint; settingsModified = true; console.log(`🔧 Set telemetry OTLP endpoint to ${oTelEndpoint}.`); } + if (workspaceSettings.telemetry.target !== target) { + workspaceSettings.telemetry.target = target; + settingsModified = true; + console.log(`🎯 Set telemetry target to ${target}.`); + } } else { - if (workspaceSettings.telemetry === true) { - delete workspaceSettings.telemetry; + if (workspaceSettings.telemetry.enabled === true) { + delete workspaceSettings.telemetry.enabled; settingsModified = true; - console.log('⚙️ Disabled telemetry in workspace settings.'); + console.log('⚙️ Disabled telemetry in workspace settings.'); } - if (workspaceSettings.telemetryOtlpEndpoint) { - delete workspaceSettings.telemetryOtlpEndpoint; + if (workspaceSettings.telemetry.otlpEndpoint) { + delete workspaceSettings.telemetry.otlpEndpoint; settingsModified = true; console.log('🔧 Cleared telemetry OTLP endpoint.'); } + if (workspaceSettings.telemetry.target) { + delete workspaceSettings.telemetry.target; + settingsModified = true; + console.log('🎯 Cleared telemetry target.'); + } + if (Object.keys(workspaceSettings.telemetry).length === 0) { + delete workspaceSettings.telemetry; + } + if ( originalSandboxSettingToRestore !== undefined && workspaceSettings.sandbox !== originalSandboxSettingToRestore |
