Skip to content

Commit ec6c4db

Browse files
committed
attach import timings to worker manifest
1 parent 5539a58 commit ec6c4db

File tree

4 files changed

+15
-6
lines changed

4 files changed

+15
-6
lines changed

packages/cli-v3/src/entryPoints/dev-index-worker.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,17 +86,18 @@ async function bootstrap() {
8686
forceFlushTimeoutMillis: 30_000,
8787
});
8888

89-
const importErrors = await registerResources(buildManifest);
89+
const { importErrors, timings } = await registerResources(buildManifest);
9090

9191
return {
9292
tracingSDK,
9393
config,
9494
buildManifest,
9595
importErrors,
96+
timings,
9697
};
9798
}
9899

99-
const { buildManifest, importErrors, config } = await bootstrap();
100+
const { buildManifest, importErrors, config, timings } = await bootstrap();
100101

101102
let tasks = resourceCatalog.listTaskManifests();
102103

@@ -158,6 +159,7 @@ await sendMessageInCatalog(
158159
loaderEntryPoint: buildManifest.loaderEntryPoint,
159160
customConditions: buildManifest.customConditions,
160161
initEntryPoint: buildManifest.initEntryPoint,
162+
timings,
161163
},
162164
importErrors,
163165
},

packages/cli-v3/src/entryPoints/managed-index-worker.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,17 +86,18 @@ async function bootstrap() {
8686
forceFlushTimeoutMillis: 30_000,
8787
});
8888

89-
const importErrors = await registerResources(buildManifest);
89+
const { importErrors, timings } = await registerResources(buildManifest);
9090

9191
return {
9292
tracingSDK,
9393
config,
9494
buildManifest,
9595
importErrors,
96+
timings,
9697
};
9798
}
9899

99-
const { buildManifest, importErrors, config } = await bootstrap();
100+
const { buildManifest, importErrors, config, timings } = await bootstrap();
100101

101102
let tasks = resourceCatalog.listTaskManifests();
102103

@@ -158,6 +159,7 @@ await sendMessageInCatalog(
158159
loaderEntryPoint: buildManifest.loaderEntryPoint,
159160
customConditions: buildManifest.customConditions,
160161
initEntryPoint: buildManifest.initEntryPoint,
162+
timings,
161163
},
162164
importErrors,
163165
},

packages/cli-v3/src/indexing/registerResources.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@ import { normalizeImportPath } from "../utilities/normalizeImportPath.js";
33

44
export async function registerResources(
55
buildManifest: BuildManifest
6-
): Promise<ImportTaskFileErrors> {
6+
): Promise<{ importErrors: ImportTaskFileErrors; timings: Record<string, number> }> {
77
const importErrors: ImportTaskFileErrors = [];
8+
const timings: Record<string, number> = {};
89

910
for (const file of buildManifest.files) {
1011
// Set the context before importing
1112
resourceCatalog.setCurrentFileContext(file.entry, file.out);
1213

14+
const start = performance.now();
1315
const [error, _] = await tryImport(file.out);
16+
const end = performance.now();
17+
timings[file.entry] = end - start;
1418

1519
// Clear the context after import, regardless of success/failure
1620
resourceCatalog.clearCurrentFileContext();
@@ -34,7 +38,7 @@ export async function registerResources(
3438
}
3539
}
3640

37-
return importErrors;
41+
return { importErrors, timings };
3842
}
3943

4044
type Result<T> = [Error | null, T | null];

packages/core/src/v3/schemas/build.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ export const WorkerManifest = z.object({
9090
initEntryPoint: z.string().optional(), // Optional init.ts entry point
9191
runtime: BuildRuntime,
9292
customConditions: z.array(z.string()).optional(),
93+
timings: z.record(z.number()).optional(),
9394
otelImportHook: z
9495
.object({
9596
include: z.array(z.string()).optional(),

0 commit comments

Comments
 (0)