MCPcopy Create free account
hub / github.com/vercel/vercel / saveTelemetry

Function saveTelemetry

packages/cli/src/index.ts:460–510  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

458 };
459
460 const saveTelemetry = async () => {
461 if (telemetrySaved) {
462 return;
463 }
464
465 const postCommandSpan = rootSpan.child('vc.postCommand');
466
467 telemetryEventStore.updateTeamId(
468 client?.config.currentTeam ?? config.currentTeam
469 );
470 telemetryEventStore.updateUserId(
471 client?.authConfig.userId ?? authConfig.userId
472 );
473 if (!telemetryEventStore.hasUserId) {
474 const getUserSpan = postCommandSpan.child('vc.postCommand.getUser');
475 try {
476 const user = await earlyGetUserPromise;
477 if (user) {
478 telemetryEventStore.updateUserId(user.id);
479 }
480 } catch {
481 // best-effort for telemetry
482 } finally {
483 getUserSpan.stop();
484 }
485 }
486
487 try {
488 const envProjectId = getPlatformEnv('PROJECT_ID');
489 if (envProjectId) {
490 telemetryEventStore.updateProjectId(envProjectId);
491 } else {
492 const cwdForProjectId =
493 client?.cwd ||
494 (typeof parsedArgs.flags['--cwd'] === 'string'
495 ? parsedArgs.flags['--cwd']
496 : process.cwd());
497 const link = await getLinkFromDir(getVercelDirectory(cwdForProjectId));
498 if (link) {
499 telemetryEventStore.updateProjectId(link.projectId);
500 }
501 }
502 } catch {
503 // best-effort for telemetry — project may not be linked
504 }
505 telemetry.trackProjectId(telemetryEventStore.currentProjectId);
506
507 await telemetryEventStore.save();
508 postCommandSpan.stop();
509 telemetrySaved = true;
510 };
511
512 const finishWithExitCode = async (code: number) => {
513 await saveTelemetry();

Callers 2

finishWithExitCodeFunction · 0.85
mainFunction · 0.85

Calls 11

getPlatformEnvFunction · 0.90
getLinkFromDirFunction · 0.90
getVercelDirectoryFunction · 0.90
childMethod · 0.80
updateTeamIdMethod · 0.80
updateUserIdMethod · 0.80
updateProjectIdMethod · 0.80
cwdMethod · 0.80
stopMethod · 0.45
trackProjectIdMethod · 0.45
saveMethod · 0.45

Tested by

no test coverage detected