Skip to content

Commit 7a7ac2c

Browse files
committed
fix(telemetry): accurately count env files checked including monorepo packages
Track packagesScanned in detectFromMonorepoEnvFiles and compute total as ENV_FILES.length * (1 + packagesScanned) — each package directory checks the same set of env file names as the root.
1 parent 28662f3 commit 7a7ac2c

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/lib/dsn/env-file.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ export type EnvFileScanResult = {
2424
dsns: DetectedDsn[];
2525
/** Map of source file paths to their mtimes (only files containing DSNs) */
2626
sourceMtimes: Record<string, number>;
27+
/** Number of package directories scanned for env files (monorepo scan only) */
28+
packagesScanned?: number;
2729
};
2830

2931
/**
@@ -156,12 +158,17 @@ export async function detectFromAllEnvFiles(
156158
Object.assign(allMtimes, rootMtimes);
157159

158160
// 2. Check monorepo package directories
159-
const { dsns: monorepoDsns, sourceMtimes: monorepoMtimes } =
160-
await detectFromMonorepoEnvFiles(cwd);
161+
const {
162+
dsns: monorepoDsns,
163+
sourceMtimes: monorepoMtimes,
164+
packagesScanned = 0,
165+
} = await detectFromMonorepoEnvFiles(cwd);
161166
allDsns.push(...monorepoDsns);
162167
Object.assign(allMtimes, monorepoMtimes);
163168

164-
span.setAttribute("dsn.env_files_checked", ENV_FILES.length);
169+
// Root checks ENV_FILES.length names; each monorepo package also checks ENV_FILES.length
170+
const filesChecked = ENV_FILES.length * (1 + packagesScanned);
171+
span.setAttribute("dsn.env_files_checked", filesChecked);
165172
span.setAttribute("dsn.env_dsn_found", allDsns.length > 0);
166173
return { dsns: allDsns, sourceMtimes: allMtimes };
167174
}
@@ -182,6 +189,7 @@ export async function detectFromMonorepoEnvFiles(
182189
): Promise<EnvFileScanResult> {
183190
const dsns: DetectedDsn[] = [];
184191
const sourceMtimes: Record<string, number> = {};
192+
let packagesScanned = 0;
185193

186194
for (const monorepoRoot of MONOREPO_ROOTS) {
187195
const rootDir = join(cwd, monorepoRoot);
@@ -202,6 +210,7 @@ export async function detectFromMonorepoEnvFiles(
202210
continue;
203211
}
204212

213+
packagesScanned += 1;
205214
const pkgDir = join(rootDir, entry.name);
206215
const packagePath = `${monorepoRoot}/${entry.name}`;
207216

@@ -216,7 +225,7 @@ export async function detectFromMonorepoEnvFiles(
216225
}
217226
}
218227

219-
return { dsns, sourceMtimes };
228+
return { dsns, sourceMtimes, packagesScanned };
220229
}
221230

222231
/** Result of detecting DSN in a single package */

0 commit comments

Comments
 (0)