MCPcopy Index your code
hub / github.com/google-gemini/gemini-cli / manageTelemetrySettings

Function manageTelemetrySettings

scripts/telemetry_utils.js:315–402  ·  view source on GitHub ↗
(
  enable,
  oTelEndpoint = 'http://localhost:4317',
  target = 'local',
  originalSandboxSettingToRestore,
  otlpProtocol = 'grpc',
)

Source from the content-addressed store, hash-verified

313}
314
315export function manageTelemetrySettings(
316 enable,
317 oTelEndpoint = 'http://localhost:4317',
318 target = 'local',
319 originalSandboxSettingToRestore,
320 otlpProtocol = 'grpc',
321) {
322 const workspaceSettings = readJsonFile(WORKSPACE_SETTINGS_FILE);
323 const currentSandboxSetting = workspaceSettings.sandbox;
324 let settingsModified = false;
325
326 if (typeof workspaceSettings.telemetry !== 'object') {
327 workspaceSettings.telemetry = {};
328 }
329
330 if (enable) {
331 if (workspaceSettings.telemetry.enabled !== true) {
332 workspaceSettings.telemetry.enabled = true;
333 settingsModified = true;
334 console.log('⚙️ Enabled telemetry in workspace settings.');
335 }
336 if (workspaceSettings.sandbox !== false) {
337 workspaceSettings.sandbox = false;
338 settingsModified = true;
339 console.log('✅ Disabled sandbox mode for telemetry.');
340 }
341 if (workspaceSettings.telemetry.otlpEndpoint !== oTelEndpoint) {
342 workspaceSettings.telemetry.otlpEndpoint = oTelEndpoint;
343 settingsModified = true;
344 console.log(`🔧 Set telemetry OTLP endpoint to ${oTelEndpoint}.`);
345 }
346 if (workspaceSettings.telemetry.target !== target) {
347 workspaceSettings.telemetry.target = target;
348 settingsModified = true;
349 console.log(`🎯 Set telemetry target to ${target}.`);
350 }
351 if (workspaceSettings.telemetry.otlpProtocol !== otlpProtocol) {
352 workspaceSettings.telemetry.otlpProtocol = otlpProtocol;
353 settingsModified = true;
354 console.log(`🔧 Set telemetry OTLP protocol to ${otlpProtocol}.`);
355 }
356 } else {
357 if (workspaceSettings.telemetry.enabled === true) {
358 delete workspaceSettings.telemetry.enabled;
359 settingsModified = true;
360 console.log('⚙️ Disabled telemetry in workspace settings.');
361 }
362 if (workspaceSettings.telemetry.otlpEndpoint) {
363 delete workspaceSettings.telemetry.otlpEndpoint;
364 settingsModified = true;
365 console.log('🔧 Cleared telemetry OTLP endpoint.');
366 }
367 if (workspaceSettings.telemetry.target) {
368 delete workspaceSettings.telemetry.target;
369 settingsModified = true;
370 console.log('🎯 Cleared telemetry target.');
371 }
372 if (workspaceSettings.telemetry.otlpProtocol) {

Callers 4

mainFunction · 0.90
mainFunction · 0.90
mainFunction · 0.90
cleanupFunction · 0.85

Calls 3

writeJsonFileFunction · 0.85
readJsonFileFunction · 0.70
logMethod · 0.65

Tested by

no test coverage detected