@hydranium/core 1.0.0-next.287 → 1.0.0-next.289
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/langium/diagnostics/logger.d.ts +9 -1
- package/lib/langium/diagnostics/logger.d.ts.map +1 -1
- package/lib/langium/diagnostics/logger.js +24 -6
- package/lib/langium/diagnostics/logger.js.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-manager.d.ts +4 -3
- package/lib/langium/workspace/hydranium-workspace-manager.d.ts.map +1 -1
- package/lib/langium/workspace/hydranium-workspace-manager.js +7 -6
- package/lib/langium/workspace/hydranium-workspace-manager.js.map +1 -1
- package/lib/node/index.d.ts.map +1 -1
- package/lib/node/index.js +4 -0
- package/lib/node/index.js.map +1 -1
- package/lib/node/startup-cpu-profile.d.ts +29 -0
- package/lib/node/startup-cpu-profile.d.ts.map +1 -0
- package/lib/node/startup-cpu-profile.js +91 -0
- package/lib/node/startup-cpu-profile.js.map +1 -0
- package/lib/testing/playwright/server-log-capture.d.ts +25 -12
- package/lib/testing/playwright/server-log-capture.d.ts.map +1 -1
- package/lib/testing/playwright/server-log-capture.js +94 -39
- package/lib/testing/playwright/server-log-capture.js.map +1 -1
- package/lib/testing/playwright/server-log-rename-reporter.d.ts.map +1 -1
- package/lib/testing/playwright/server-log-rename-reporter.js +4 -3
- package/lib/testing/playwright/server-log-rename-reporter.js.map +1 -1
- package/package.json +6 -6
- package/src/langium/diagnostics/logger.ts +26 -6
- package/src/langium/workspace/hydranium-workspace-manager.ts +7 -6
- package/src/node/index.ts +4 -0
- package/src/node/startup-cpu-profile.ts +94 -0
- package/src/testing/playwright/server-log-capture.ts +98 -41
- package/src/testing/playwright/server-log-rename-reporter.ts +4 -3
|
@@ -28,10 +28,18 @@ export interface LogFileSink {
|
|
|
28
28
|
}
|
|
29
29
|
/** Install (or clear, with `undefined`) the file-tee sink. Idempotent. */
|
|
30
30
|
export declare function setLogFileSink(sink: LogFileSink | undefined): void;
|
|
31
|
+
/**
|
|
32
|
+
* Expand `template` the way the file-tee names its file: `{pid}` and each
|
|
33
|
+
* supplied placeholder by its value, each one still missing by
|
|
34
|
+
* `_startup-<pid>`. A file written beside the log, such as the CPU profile,
|
|
35
|
+
* names itself through this so both carry the same workspace token.
|
|
36
|
+
*/
|
|
37
|
+
export declare function expandLogFilePlaceholders(template: string): string;
|
|
31
38
|
/**
|
|
32
39
|
* Set the file-tee target programmatically. Pass `undefined` to disable. The
|
|
33
40
|
* path may contain `{placeholder}` tokens (e.g. `{workspace}`); lines buffer
|
|
34
|
-
* until every token is supplied via {@link resolveLogFilePlaceholder}
|
|
41
|
+
* until every token is supplied via {@link resolveLogFilePlaceholder}, except
|
|
42
|
+
* `{pid}`, which is the process id from the start.
|
|
35
43
|
* Called by the `LspLogger` constructor's
|
|
36
44
|
* one-time `HYDRANIUM_LOG_FILE` env baseline (and by tests).
|
|
37
45
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAuB,KAAK,QAAQ,EAAU,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGpG,yGAAyG;AACzG,eAAO,MAAM,kBAAkB,QAAkB,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IACzB,2EAA2E;IAC3E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,6EAA6E;IAC7E,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAID,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAElE;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../src/langium/diagnostics/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAuB,KAAK,QAAQ,EAAU,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGpG,yGAAyG;AACzG,eAAO,MAAM,kBAAkB,QAAkB,CAAC;AAElD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IACzB,2EAA2E;IAC3E,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,6EAA6E;IAC7E,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAID,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAElE;AA6CD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElE;AA2CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,EAAE,YAAY,GAAG,IAAI,CAOnF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAG3E;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAO3C;AAaD,oFAAoF;AACpF,wBAAgB,cAAc,IAAI,MAAM,GAAG,SAAS,CAEnD;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAYnE;AAKD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,cAAc;IAC5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAMrC"}
|
|
@@ -44,6 +44,26 @@ const logFilePlaceholders = new Map();
|
|
|
44
44
|
const pendingLogLines = [];
|
|
45
45
|
/** Matches any remaining `{name}` placeholder token. */
|
|
46
46
|
const PLACEHOLDER_PATTERN = /\{[^}]+\}/;
|
|
47
|
+
/**
|
|
48
|
+
* `template` with `{pid}` replaced by the process id, known from the start, and
|
|
49
|
+
* each placeholder supplied so far by its value.
|
|
50
|
+
*/
|
|
51
|
+
function substituteLogFilePlaceholders(template) {
|
|
52
|
+
let path = template.split('{pid}').join(String(processPid() ?? 'unknown'));
|
|
53
|
+
for (const [name, value] of logFilePlaceholders) {
|
|
54
|
+
path = path.split(`{${name}}`).join(value);
|
|
55
|
+
}
|
|
56
|
+
return path;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Expand `template` the way the file-tee names its file: `{pid}` and each
|
|
60
|
+
* supplied placeholder by its value, each one still missing by
|
|
61
|
+
* `_startup-<pid>`. A file written beside the log, such as the CPU profile,
|
|
62
|
+
* names itself through this so both carry the same workspace token.
|
|
63
|
+
*/
|
|
64
|
+
export function expandLogFilePlaceholders(template) {
|
|
65
|
+
return substituteLogFilePlaceholders(template).replace(new RegExp(PLACEHOLDER_PATTERN, 'g'), `_startup-${processPid() ?? 'unknown'}`);
|
|
66
|
+
}
|
|
47
67
|
/**
|
|
48
68
|
* Recompute {@link resolvedLogFilePath} from the template + known placeholders.
|
|
49
69
|
* Resolves (and flushes the pending buffer) only once no `{...}` token remains.
|
|
@@ -53,10 +73,7 @@ function tryResolveLogFilePath() {
|
|
|
53
73
|
resolvedLogFilePath = undefined;
|
|
54
74
|
return;
|
|
55
75
|
}
|
|
56
|
-
|
|
57
|
-
for (const [name, value] of logFilePlaceholders) {
|
|
58
|
-
path = path.split(`{${name}}`).join(value);
|
|
59
|
-
}
|
|
76
|
+
const path = substituteLogFilePlaceholders(logFileTemplate);
|
|
60
77
|
if (PLACEHOLDER_PATTERN.test(path)) {
|
|
61
78
|
resolvedLogFilePath = undefined;
|
|
62
79
|
// Target is pending — guarantee the buffer is flushed even if the process
|
|
@@ -88,7 +105,8 @@ function flushPendingLogLines() {
|
|
|
88
105
|
/**
|
|
89
106
|
* Set the file-tee target programmatically. Pass `undefined` to disable. The
|
|
90
107
|
* path may contain `{placeholder}` tokens (e.g. `{workspace}`); lines buffer
|
|
91
|
-
* until every token is supplied via {@link resolveLogFilePlaceholder}
|
|
108
|
+
* until every token is supplied via {@link resolveLogFilePlaceholder}, except
|
|
109
|
+
* `{pid}`, which is the process id from the start.
|
|
92
110
|
* Called by the `LspLogger` constructor's
|
|
93
111
|
* one-time `HYDRANIUM_LOG_FILE` env baseline (and by tests).
|
|
94
112
|
*
|
|
@@ -126,7 +144,7 @@ export function flushLogFileFallback() {
|
|
|
126
144
|
if (!logFileTemplate || resolvedLogFilePath || pendingLogLines.length === 0) {
|
|
127
145
|
return;
|
|
128
146
|
}
|
|
129
|
-
resolvedLogFilePath = logFileTemplate
|
|
147
|
+
resolvedLogFilePath = expandLogFilePlaceholders(logFileTemplate);
|
|
130
148
|
ensureLogDir(resolvedLogFilePath);
|
|
131
149
|
flushPendingLogLines();
|
|
132
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAiB,MAAM,EAAqB,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE3F,yGAAyG;AACzG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAoBlD,IAAI,QAAiC,CAAC;AAEtC,0EAA0E;AAC1E,MAAM,UAAU,cAAc,CAAC,IAA6B;IACzD,QAAQ,GAAG,IAAI,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,IAAI,eAAmC,CAAC;AACxC,oFAAoF;AACpF,IAAI,mBAAuC,CAAC;AAC5C,gFAAgF;AAChF,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;AACtD;;;;GAIG;AACH,MAAM,eAAe,GAAa,EAAE,CAAC;AAErC,wDAAwD;AACxD,MAAM,mBAAmB,GAAG,WAAW,CAAC;AAExC;;;GAGG;AACH,SAAS,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/langium/diagnostics/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -270,9 +270,10 @@ export declare class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
|
|
|
270
270
|
*/
|
|
271
271
|
protected probePathDivergence(folders: WorkspaceFolder[]): void;
|
|
272
272
|
/**
|
|
273
|
-
*
|
|
274
|
-
*
|
|
275
|
-
* target is configured.
|
|
273
|
+
* Supply the `{workspace}` placeholder from the first workspace folder, which
|
|
274
|
+
* the log file-tee and the CPU profile's file name both read, whether or not
|
|
275
|
+
* a log target is configured. No-op when no folder is known. See
|
|
276
|
+
* {@link toLogFileWorkspaceToken} for the token
|
|
276
277
|
* derivation — a log-capturing test harness uses the same function so the
|
|
277
278
|
* server's file name and the harness's correlation key agree.
|
|
278
279
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydranium-workspace-manager.d.ts","sourceRoot":"","sources":["../../../src/langium/workspace/hydranium-workspace-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hydranium-workspace-manager.d.ts","sourceRoot":"","sources":["../../../src/langium/workspace/hydranium-workspace-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -234,9 +234,9 @@ export class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
|
|
|
234
234
|
'for a virtual document that means passing it as the last segment, `virtualUri(contributor, "name.<ext>")`.');
|
|
235
235
|
}
|
|
236
236
|
async performStartup(folders) {
|
|
237
|
-
//
|
|
238
|
-
//
|
|
239
|
-
//
|
|
237
|
+
// Supply the `{workspace}` placeholder as early as possible — before any
|
|
238
|
+
// build logging — so per-workspace log capture names its file correctly
|
|
239
|
+
// and the buffered startup lines flush; the CPU profile reads it too.
|
|
240
240
|
this.resolveWorkspaceLogTarget(folders);
|
|
241
241
|
// Snapshot the document set around discovery so the descriptor documents
|
|
242
242
|
// it creates can be identified afterwards. Plain iteration rather than
|
|
@@ -452,9 +452,10 @@ export class HydraniumWorkspaceManager extends DefaultWorkspaceManager {
|
|
|
452
452
|
}
|
|
453
453
|
}
|
|
454
454
|
/**
|
|
455
|
-
*
|
|
456
|
-
*
|
|
457
|
-
* target is configured.
|
|
455
|
+
* Supply the `{workspace}` placeholder from the first workspace folder, which
|
|
456
|
+
* the log file-tee and the CPU profile's file name both read, whether or not
|
|
457
|
+
* a log target is configured. No-op when no folder is known. See
|
|
458
|
+
* {@link toLogFileWorkspaceToken} for the token
|
|
458
459
|
* derivation — a log-capturing test harness uses the same function so the
|
|
459
460
|
* server's file name and the harness's correlation key agree.
|
|
460
461
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydranium-workspace-manager.js","sourceRoot":"","sources":["../../../src/langium/workspace/hydranium-workspace-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hydranium-workspace-manager.js","sourceRoot":"","sources":["../../../src/langium/workspace/hydranium-workspace-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,OAAO,EAAE,QAAQ,EAA4B,aAAa,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAChH,OAAO,EACJ,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EAGpB,QAAQ,EAEV,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAA0B,uBAAuB,EAAyB,MAAM,uBAAuB,CAAC;AAE/G,OAAO,EAAuB,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAMnH,OAAO,EAA0B,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,EAAuC,0BAA0B,EAAE,MAAM,uCAAuC,CAAC;AACxH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E;;;;GAIG;AACH,IAAI,sCAAsC,GAAG,KAAK,CAAC;AAEnD;;;;;;GAMG;AACH,IAAI,mCAAuD,CAAC;AAE5D;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,IAAI,uBAAuB,EAAE,CAAC,KAAK,CAAC;AAE7D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,+BAA+B,CAAC,MAAe,EAAE,MAAc;IAC5E,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,4BAA4B,EAAE,CAAC;QACjF,OAAO;IACV,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,+BAA+B,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;AAClF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oCAAoC,CAAC,MAAc;IAChE,mCAAmC,GAAG,MAAM,CAAC;IAC7C,IAAI,sCAAsC,EAAE,CAAC;QAC1C,OAAO;IACV,CAAC;IACD,sCAAsC,GAAG,IAAI,CAAC;IAC9C,4EAA4E;IAC5E,qCAAqC;IACrC,cAAc,CAAC,oBAAoB,EAAE,MAAM,CAAC,EAAE;QAC3C,IAAI,mCAAmC,EAAE,CAAC;YACvC,+BAA+B,CAAC,MAAM,EAAE,mCAAmC,CAAC,CAAC;QAChF,CAAC;IACJ,CAAC,CAAC,CAAC;AACN,CAAC;AAcD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,OAAO,yBAA0B,SAAQ,uBAAuB;IAChD,cAAc,CAAiB;IAC/B,MAAM,CAAS;IAElC;;;;;;;OAOG;IACgB,4BAA4B,GAAG,IAAI,QAAQ,EAAW,CAAC;IAE1E;;;;;;;OAOG;IACM,oBAAoB,GAAqB,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC;IAEzE,SAAS,CAAoB;IAChD,yEAAyE;IACtD,YAAY,CAAe;IAC3B,0BAA0B,CAA6B;IACvD,mBAAmB,CAAiD;IACvF,wFAAwF;IACrE,gBAAgB,CAAiD;IACpF,4DAA4D;IACzC,qBAAqB,CAAU;IAClD,6GAA6G;IAC1F,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACrD,mHAAmH;IAChG,aAAa,GAAW,EAAE,CAAC;IAE9C,YAAY,QAAqC,EAAE,OAAO,GAAqC,EAAE;QAC9F,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,cAAc,CAAC;QACxD,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9E,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,iBAAiB,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC1C,IAAI,CAAC,0BAA0B,GAAG,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC;QACxE,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,eAAe,CAAC;QACjD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,IAAI,IAAI,CAAC;QACnE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,kBAAkB,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC/F,oCAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;OASG;IACgB,KAAK,CAAC,uBAAuB,CAC7C,OAA0B,EAC1B,SAA8C;QAE9C,MAAM,KAAK,CAAC,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC5D,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;QACV,CAAC;QACD,oEAAoE;QACpE,mEAAmE;QACnE,wEAAwE;QACxE,+CAA+C;QAC/C,MAAM,IAAI,GAAa,CAAC,GAAG,aAAa,CAAC,MAAM,gBAAgB,CAAC,CAAC;QACjE,MAAM,MAAM,GAAsB,EAAE,CAAC;QACrC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,2BAA2B,EAC3B,KAAK,IAAI,EAAE;YACR,MAAM,0BAA0B,CAAC,IAAI,CAAC,mBAAmB,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE;gBAC5E,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACtB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBAChC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,YAAY,CAAC,CAAC;QAC3C,CAAC,EACD,MAAM,EACN,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CACzB,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACO,gBAAgB,CAAC,QAAyB;QACjD,IAAI,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,OAAO;QACV,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAC3G,IAAI,CAAC,MAAM,CAAC,IAAI,CACb,wBAAwB,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,qDAAqD;YACjG,6FAA6F,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;YACvH,4GAA4G,CACjH,CAAC;IACL,CAAC;IAEkB,KAAK,CAAC,cAAc,CAAC,OAA0B;QAC/D,yEAAyE;QACzE,wEAAwE;QACxE,sEAAsE;QACtE,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QACxC,yEAAyE;QACzE,uEAAuE;QACvE,kEAAkE;QAClE,0EAA0E;QAC1E,sCAAsC;QACtC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;YAChD,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,qEAAqE;QACrE,0EAA0E;QAC1E,wCAAwC;QACxC,MAAM,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,UAAU,GAAsB,EAAE,CAAC;QACzC,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC;YAChD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;gBACjD,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,SAA4B,CAAC;QACjC,IAAI,CAAC;YACF,SAAS,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC9B,MAAM,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;YACtH,CAAC;QACJ,CAAC;gBAAS,CAAC;YACR,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACgB,KAAK,CAAC,sBAAsB,CAAC,IAAiB,EAAE,SAA8C;QAC9G,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACT,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,OAAO,CAAC,GAAG,CACd,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;gBAC7C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;gBACvD,IAAI,QAAQ,EAAE,CAAC;oBACZ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAChD,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACvB,CAAC;YACJ,CAAC,CAAC,CACJ,CAAC;QACL,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,KAAK,CAAC,qBAAqB,CAAC,GAAQ;QAC3C,IAAI,CAAC;YACF,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACvB,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,KAAK,CAAC;YACf,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC;YACnD,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC1F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,QAAQ,EAAE,0DAA0D,CAAC,CAAC;gBACvG,OAAO,SAAS,CAAC;YACpB,CAAC;YACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACO,KAAK,CAAC,uBAAuB,CAAC,SAAqC;QAC1E,MAAM,QAAQ,GAAU,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAChC,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC;gBACF,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACvE,CAAC;YAAC,MAAM,CAAC;gBACN,8BAA8B;YACjC,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACX,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;QACJ,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;QACV,CAAC;QACD,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,CAAC,IAAI,CACb,GAAG,QAAQ,CAAC,MAAM,6BAA6B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,8DAA8D;YACxJ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,yCAAyC;YAChG,iDAAiD,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB;YACjH,0GAA0G;YAC1G,qBAAqB,CAC1B,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACO,yBAAyB,CAAC,SAA4B,EAAE,UAAsC;QACrG,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,SAAS,CAAC;QACpB,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACvF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,MAAM,uDAAuD,CAAC,CAAC;QACtG,OAAO,CAAC,GAAG,OAAO,EAAE,GAAG,SAAS,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;;;OAWG;IACO,mBAAmB,CAAC,OAA0B;QACrD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACV,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,sBAAsB,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACjF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACT,SAAS;YACZ,CAAC;YACD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC;YACnD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAChG,IAAI,CAAC,MAAM,CAAC,IAAI,CACb,mBAAmB,MAAM,CAAC,GAAG,sDAAsD,IAAI,CAAC,QAAQ,EAAE,KAAK;gBACpG,oEAAoE;gBACpE,CAAC,SAAS;oBACP,CAAC,CAAC,aAAa,UAAU,8EAA8E;oBACvG,CAAC,CAAC,aAAa,UAAU,oFAAoF,CAAC,CACtH,CAAC;QACL,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACO,yBAAyB,CAAC,OAA0B;QAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACzB,IAAI,KAAK,EAAE,CAAC;YACT,yBAAyB,CAAC,WAAW,EAAE,uBAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC9E,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACM,UAAU,CAAC,MAAwB;QACzC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;QAClG,CAAC;QACD,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACM,KAAK,CAAC,mBAAmB,CAAC,OAA0B,EAAE,WAA+B;QAC3F,IAAI,CAAC;YACF,MAAM,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YACtD,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACvB,IAAI,oBAAoB,CAAC,KAAK,CAAC,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6CAA6C,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC1F,CAAC;iBAAM,CAAC;gBACL,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC;YACD,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChD,sEAAsE;YACtE,kEAAkE;YAClE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,KAAK,CAAC;QACf,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACO,iBAAiB,CAAC,KAAyB;QAClD,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACxD,IAAI,QAAQ,EAAE,CAAC;gBACZ,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;YACtE,CAAC;QACJ,CAAC;IACJ,CAAC;IAWD,cAAc,CAAC,GAAiB,EAAE,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG;QAC1E,OAAO,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9G,CAAC;CACH"}
|
package/lib/node/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAmBlF,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAQxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC"}
|
package/lib/node/index.js
CHANGED
|
@@ -17,7 +17,10 @@
|
|
|
17
17
|
// Node hosts also get workspace-write-lock reentrancy detection for free, by the
|
|
18
18
|
// same mechanism and for the same reason: the check needs `node:async_hooks`, so
|
|
19
19
|
// the neutral tree can only declare the seam.
|
|
20
|
+
// A Node host is also profiled from here when `HYDRANIUM_CPU_PROFILE_FILE` is
|
|
21
|
+
// set, so the profile covers the workspace load that follows the import.
|
|
20
22
|
import { installNodeLogFileSink } from './log-file-sink.js';
|
|
23
|
+
import { startCpuProfileFromEnv } from './startup-cpu-profile.js';
|
|
21
24
|
import { installNodeWriteLockScope } from './write-lock-scope-node.js';
|
|
22
25
|
export * from './node-file-system-provider.js';
|
|
23
26
|
export * from './log-file-sink.js';
|
|
@@ -47,4 +50,5 @@ export * from './stdio-launcher.js';
|
|
|
47
50
|
export * from './validate-workspace.js';
|
|
48
51
|
installNodeLogFileSink();
|
|
49
52
|
installNodeWriteLockScope();
|
|
53
|
+
startCpuProfileFromEnv();
|
|
50
54
|
//# sourceMappingURL=index.js.map
|
package/lib/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,iFAAiF;AACjF,6EAA6E;AAC7E,iFAAiF;AACjF,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,mBAAmB;AACnB,iFAAiF;AACjF,iFAAiF;AACjF,8CAA8C;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,8EAA8E;AAC9E,+EAA+E;AAC/E,0EAA0E;AAC1E,sEAAsE;AACtE,6EAA6E;AAC7E,sCAAsC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AAExC,sBAAsB,EAAE,CAAC;AACzB,yBAAyB,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAElF,iFAAiF;AACjF,6EAA6E;AAC7E,iFAAiF;AACjF,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,mBAAmB;AACnB,iFAAiF;AACjF,iFAAiF;AACjF,8CAA8C;AAC9C,8EAA8E;AAC9E,yEAAyE;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,cAAc,gCAAgC,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,8EAA8E;AAC9E,+EAA+E;AAC/E,0EAA0E;AAC1E,sEAAsE;AACtE,6EAA6E;AAC7E,sCAAsC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AAExC,sBAAsB,EAAE,CAAC;AACzB,yBAAyB,EAAE,CAAC;AAC5B,sBAAsB,EAAE,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
/**
|
|
10
|
+
* Start profiling this process when {@link DEFAULT_CPU_PROFILE_FILE_ENV} is
|
|
11
|
+
* set, and write the profile once, on `exit` or on SIGTERM. Called when
|
|
12
|
+
* `@hydranium/core/node` loads, so every Node head is profiled from before its
|
|
13
|
+
* workspace load; a no-op on a second call, from any copy of the package, and
|
|
14
|
+
* in a `worker_threads` worker.
|
|
15
|
+
*
|
|
16
|
+
* `--cpu-prof` is no substitute: it writes only on a normal exit, and SIGTERM
|
|
17
|
+
* ends a process without one. The SIGTERM listener re-raises the signal when it
|
|
18
|
+
* is the only one, so the process still ends by it; another listener keeps
|
|
19
|
+
* control of the ending. Samples accumulate for the life of the process, so
|
|
20
|
+
* this is for test runs, not a production server.
|
|
21
|
+
*
|
|
22
|
+
* A head in a worker is not profiled: a worker's session would write the main
|
|
23
|
+
* thread's file, since threads share the pid, no signal reaches it, and its
|
|
24
|
+
* `exit` listeners run neither when it is terminated nor when the process ends.
|
|
25
|
+
*
|
|
26
|
+
* A `ProfileCapture` window runs beside it in its own inspector session.
|
|
27
|
+
*/
|
|
28
|
+
export declare function startCpuProfileFromEnv(): void;
|
|
29
|
+
//# sourceMappingURL=startup-cpu-profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-cpu-profile.d.ts","sourceRoot":"","sources":["../../src/node/startup-cpu-profile.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAiBlF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAkD7C"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/********************************************************************************
|
|
2
|
+
* Copyright (c) 2026 EclipseSource and others.
|
|
3
|
+
*
|
|
4
|
+
* This program and the accompanying materials are made available under the
|
|
5
|
+
* terms of the MIT License which is available in the project root.
|
|
6
|
+
*
|
|
7
|
+
* SPDX-License-Identifier: MIT
|
|
8
|
+
********************************************************************************/
|
|
9
|
+
import { DEFAULT_CPU_PROFILE_FILE_ENV } from '@hydranium/protocol';
|
|
10
|
+
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
11
|
+
import { Session } from 'node:inspector';
|
|
12
|
+
import { dirname } from 'node:path';
|
|
13
|
+
import { isMainThread } from 'node:worker_threads';
|
|
14
|
+
import { expandLogFilePlaceholders } from '../langium/diagnostics/logger.js';
|
|
15
|
+
/**
|
|
16
|
+
* Marks the profile started on `globalThis` rather than in this module, since
|
|
17
|
+
* a second installed copy of the package loads its own module and would start
|
|
18
|
+
* a second session writing a profile of its own.
|
|
19
|
+
*/
|
|
20
|
+
const CPU_PROFILE_STARTED = Symbol.for('@hydranium/core#startupCpuProfileStarted');
|
|
21
|
+
const processGlobal = globalThis;
|
|
22
|
+
/**
|
|
23
|
+
* Start profiling this process when {@link DEFAULT_CPU_PROFILE_FILE_ENV} is
|
|
24
|
+
* set, and write the profile once, on `exit` or on SIGTERM. Called when
|
|
25
|
+
* `@hydranium/core/node` loads, so every Node head is profiled from before its
|
|
26
|
+
* workspace load; a no-op on a second call, from any copy of the package, and
|
|
27
|
+
* in a `worker_threads` worker.
|
|
28
|
+
*
|
|
29
|
+
* `--cpu-prof` is no substitute: it writes only on a normal exit, and SIGTERM
|
|
30
|
+
* ends a process without one. The SIGTERM listener re-raises the signal when it
|
|
31
|
+
* is the only one, so the process still ends by it; another listener keeps
|
|
32
|
+
* control of the ending. Samples accumulate for the life of the process, so
|
|
33
|
+
* this is for test runs, not a production server.
|
|
34
|
+
*
|
|
35
|
+
* A head in a worker is not profiled: a worker's session would write the main
|
|
36
|
+
* thread's file, since threads share the pid, no signal reaches it, and its
|
|
37
|
+
* `exit` listeners run neither when it is terminated nor when the process ends.
|
|
38
|
+
*
|
|
39
|
+
* A `ProfileCapture` window runs beside it in its own inspector session.
|
|
40
|
+
*/
|
|
41
|
+
export function startCpuProfileFromEnv() {
|
|
42
|
+
const template = process.env[DEFAULT_CPU_PROFILE_FILE_ENV];
|
|
43
|
+
if (!template || !isMainThread || processGlobal[CPU_PROFILE_STARTED]) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
processGlobal[CPU_PROFILE_STARTED] = true;
|
|
47
|
+
const session = new Session();
|
|
48
|
+
session.connect();
|
|
49
|
+
session.post('Profiler.enable');
|
|
50
|
+
session.post('Profiler.start');
|
|
51
|
+
let written = false;
|
|
52
|
+
// Synchronous throughout: an in-process session answers `post` before it
|
|
53
|
+
// returns, and nothing asynchronous runs after `exit`. The session is
|
|
54
|
+
// disconnected from the answer, so nothing here depends on that order.
|
|
55
|
+
const write = () => {
|
|
56
|
+
if (written) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
written = true;
|
|
60
|
+
const file = expandLogFilePlaceholders(template);
|
|
61
|
+
session.post('Profiler.stop', (error, result) => {
|
|
62
|
+
try {
|
|
63
|
+
if (error) {
|
|
64
|
+
throw error;
|
|
65
|
+
}
|
|
66
|
+
mkdirSync(dirname(file), { recursive: true });
|
|
67
|
+
writeFileSync(file, JSON.stringify(result.profile));
|
|
68
|
+
}
|
|
69
|
+
catch (err) {
|
|
70
|
+
process.stderr.write(`[hydranium] Could not write the CPU profile to ${file}: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
71
|
+
}
|
|
72
|
+
session.disconnect();
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
process.once('exit', write);
|
|
76
|
+
// Registered until the write is done, not `once`: a `once` listener is gone
|
|
77
|
+
// before it runs, and with no listener left the default action ends the
|
|
78
|
+
// process on a second SIGTERM, which a host ending its process tree sends
|
|
79
|
+
// while the write is still running. Prepended: a `once` listener ahead of
|
|
80
|
+
// this one has removed itself by the time this counts, which would re-raise
|
|
81
|
+
// into its unfinished shutdown.
|
|
82
|
+
const writeOnSigterm = () => {
|
|
83
|
+
write();
|
|
84
|
+
process.removeListener('SIGTERM', writeOnSigterm);
|
|
85
|
+
if (process.listenerCount('SIGTERM') === 0) {
|
|
86
|
+
process.kill(process.pid, 'SIGTERM');
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
process.prependListener('SIGTERM', writeOnSigterm);
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=startup-cpu-profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-cpu-profile.js","sourceRoot":"","sources":["../../src/node/startup-cpu-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,13 @@ import { type LogThreshold } from '@hydranium/protocol';
|
|
|
14
14
|
* {@link attachServerLog}.
|
|
15
15
|
*/
|
|
16
16
|
export declare const DEFAULT_SERVER_LOG_DIR_ENV = "HYDRANIUM_SERVER_LOG_DIR";
|
|
17
|
+
/**
|
|
18
|
+
* Default env var opting a capture into the servers' CPU profiles: any
|
|
19
|
+
* non-empty value makes {@link captureServerLog} name a
|
|
20
|
+
* `<token>.<pid>.cpuprofile` beside each log, which each server of that
|
|
21
|
+
* workspace writes when it ends.
|
|
22
|
+
*/
|
|
23
|
+
export declare const DEFAULT_SERVER_CPU_PROFILE_ENV = "HYDRANIUM_SERVER_CPU_PROFILE";
|
|
17
24
|
/**
|
|
18
25
|
* Default env var providing a central {@link AttachServerLogOptions.attachOn}
|
|
19
26
|
* policy (`'failure' | 'always' | 'never'`) for a whole run, so a debugging
|
|
@@ -74,7 +81,8 @@ export interface ServerLogRenameReporterOptions {
|
|
|
74
81
|
* plus the reporter entry that renames those files to spec names once the run
|
|
75
82
|
* ends. Returns an **empty env, and no reporter, when no dir is configured**, so a
|
|
76
83
|
* normal run is untouched. The `{workspace}` token is expanded server-side once
|
|
77
|
-
* the workspace is known.
|
|
84
|
+
* the workspace is known. With {@link DEFAULT_SERVER_CPU_PROFILE_ENV} set, the
|
|
85
|
+
* env also names a `<token>.<pid>.cpuprofile` per server beside each log.
|
|
78
86
|
*
|
|
79
87
|
* **Publishes a resolved `options.dir` onto {@link DEFAULT_SERVER_LOG_DIR_ENV} in
|
|
80
88
|
* the CALLING process, and that mutation is load-bearing rather than a
|
|
@@ -117,16 +125,18 @@ export interface ServerLogTestInfo {
|
|
|
117
125
|
*/
|
|
118
126
|
export declare function serverLogSpecName(file: string): string;
|
|
119
127
|
/**
|
|
120
|
-
* Rename each `<token>.log` (backend)
|
|
121
|
-
* browser console)
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
125
|
-
*
|
|
128
|
+
* Rename each `<token>.log` (backend), `<token>.browser.log` (forwarded
|
|
129
|
+
* browser console) and `<token>.<pid>.cpuprofile` (each server's CPU profile,
|
|
130
|
+
* when {@link DEFAULT_SERVER_CPU_PROFILE_ENV} is set) to the spec name recorded
|
|
131
|
+
* in its `<token>.spec` sidecar (written by {@link markServerLog}), then delete
|
|
132
|
+
* the sidecar. Colliding names — a spec that opened more than one workspace —
|
|
133
|
+
* get a `-2`, `-3`, … suffix. Run once, after all server processes have exited
|
|
134
|
+
* (e.g. a reporter's `onEnd`). Best-effort.
|
|
126
135
|
*
|
|
127
|
-
* Returns the workspace tokens left UNATTRIBUTED — a log
|
|
128
|
-
* no test claimed, because that spec never reached
|
|
129
|
-
* {@link markServerLog} (no `serverLog` fixture, no `beforeEach` call)
|
|
136
|
+
* Returns the workspace tokens left UNATTRIBUTED — a log or CPU profile the
|
|
137
|
+
* capture wrote that no test claimed, because that spec never reached
|
|
138
|
+
* {@link markServerLog} (no `serverLog` fixture, no `beforeEach` call), or
|
|
139
|
+
* because its server never learned its workspace and named it `_startup-<pid>`.
|
|
130
140
|
*
|
|
131
141
|
* **Returned rather than ignored, because the unattributed state is the
|
|
132
142
|
* misleading one.** Such a log still exists, still has content, and is named by
|
|
@@ -246,8 +256,11 @@ export declare function findUnexpectedServerLogLines(text: string, allowlist?: R
|
|
|
246
256
|
* server log, so each test's region is delimited within the shared stream;
|
|
247
257
|
* - attaches that log — and the separate browser-console log, when one exists —
|
|
248
258
|
* to the test, so it shows in the HTML report alongside the trace + screenshot.
|
|
249
|
-
*
|
|
250
|
-
*
|
|
259
|
+
* Every CPU profile of the workspace's servers written by then is attached
|
|
260
|
+
* too, so one of a server that ended in an earlier test of the same
|
|
261
|
+
* workspace comes along, and one written after the test is only named after
|
|
262
|
+
* the spec by {@link renameServerLogs}. Which outcomes attach is
|
|
263
|
+
* {@link AttachServerLogOptions.attachOn}, failure-only by default.
|
|
251
264
|
*
|
|
252
265
|
* **No-op when no capture dir is configured** (`options.dir` and the default env
|
|
253
266
|
* var both unset), so a normal run is untouched — no per-spec guard needed.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-log-capture.d.ts","sourceRoot":"","sources":["../../../src/testing/playwright/server-log-capture.ts"],"names":[],"mappings":"AAAA;;;;;;;kFAOkF;AAKlF,OAAO,
|
|
1
|
+
{"version":3,"file":"server-log-capture.d.ts","sourceRoot":"","sources":["../../../src/testing/playwright/server-log-capture.ts"],"names":[],"mappings":"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"}
|