@descryy/runtime-orchestrator 0.5.0 → 0.5.1

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.
Files changed (46) hide show
  1. package/dist/attach-log-sources.d.ts +12 -2
  2. package/dist/attach-log-sources.d.ts.map +1 -1
  3. package/dist/attach-log-sources.js +132 -26
  4. package/dist/attach-log-sources.js.map +1 -1
  5. package/dist/attach-to-running-jvm-process.d.ts.map +1 -1
  6. package/dist/attach-to-running-jvm-process.js +129 -37
  7. package/dist/attach-to-running-jvm-process.js.map +1 -1
  8. package/dist/attach-to-running-node-process.d.ts +2 -0
  9. package/dist/attach-to-running-node-process.d.ts.map +1 -1
  10. package/dist/attach-to-running-node-process.js +222 -27
  11. package/dist/attach-to-running-node-process.js.map +1 -1
  12. package/dist/attach-to-running-process.d.ts.map +1 -1
  13. package/dist/attach-to-running-process.js +57 -11
  14. package/dist/attach-to-running-process.js.map +1 -1
  15. package/dist/cdp-client.d.ts +7 -1
  16. package/dist/cdp-client.d.ts.map +1 -1
  17. package/dist/cdp-client.js +83 -7
  18. package/dist/cdp-client.js.map +1 -1
  19. package/dist/cgroup-partial-restriction.d.ts.map +1 -1
  20. package/dist/cgroup-partial-restriction.js +4 -1
  21. package/dist/cgroup-partial-restriction.js.map +1 -1
  22. package/dist/index.d.ts +2 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/instrumented-execution.d.ts +2 -0
  27. package/dist/instrumented-execution.d.ts.map +1 -1
  28. package/dist/instrumented-execution.js +136 -14
  29. package/dist/instrumented-execution.js.map +1 -1
  30. package/dist/jvm-agent/build.d.ts +2 -2
  31. package/dist/jvm-agent/build.d.ts.map +1 -1
  32. package/dist/jvm-agent/build.js +46 -17
  33. package/dist/jvm-agent/build.js.map +1 -1
  34. package/dist/polling-output-source.d.ts +16 -6
  35. package/dist/polling-output-source.d.ts.map +1 -1
  36. package/dist/polling-output-source.js +38 -22
  37. package/dist/polling-output-source.js.map +1 -1
  38. package/dist/profile-backend-observation.d.ts +7 -0
  39. package/dist/profile-backend-observation.d.ts.map +1 -1
  40. package/dist/profile-backend-observation.js +87 -25
  41. package/dist/profile-backend-observation.js.map +1 -1
  42. package/dist/respawn-and-supervise.d.ts +1 -0
  43. package/dist/respawn-and-supervise.d.ts.map +1 -1
  44. package/dist/respawn-and-supervise.js +29 -1
  45. package/dist/respawn-and-supervise.js.map +1 -1
  46. package/package.json +17 -17
@@ -39,12 +39,22 @@ export interface StreamAttachLogSourceOptions {
39
39
  /** How often to check `isFinished` while no output is arriving. Default 50ms. */
40
40
  readonly pollIntervalMs?: number;
41
41
  }
42
+ export interface DisposableProcessOutputSource extends ProcessOutputSource {
43
+ readonly dispose: () => void;
44
+ }
42
45
  /** `docker logs -f --since <attachedAt> <container>` as a `ProcessOutputSource`. */
43
- export declare function createDockerAttachLogSource(container: string, options: StreamAttachLogSourceOptions): ProcessOutputSource;
46
+ export declare function createDockerAttachLogSource(container: string, options: StreamAttachLogSourceOptions): DisposableProcessOutputSource;
44
47
  /**
45
48
  * `journalctl -f -o cat -u <unit> --since @<seconds>` as a `ProcessOutputSource`.
46
49
  * `-o cat` prints the message body only, matching a plain log line's shape
47
50
  * rather than journald's own structured record.
48
51
  */
49
- export declare function createSystemdAttachLogSource(unit: string, options: StreamAttachLogSourceOptions): ProcessOutputSource;
52
+ export declare function createSystemdAttachLogSource(unit: string, options: StreamAttachLogSourceOptions): DisposableProcessOutputSource;
53
+ export declare function createPodmanAttachLogSource(container: string, options: StreamAttachLogSourceOptions): DisposableProcessOutputSource;
54
+ export interface KubernetesContainerTarget {
55
+ readonly namespace: string;
56
+ readonly pod: string;
57
+ readonly container: string;
58
+ }
59
+ export declare function createKubernetesAttachLogSource(target: KubernetesContainerTarget, options: StreamAttachLogSourceOptions): DisposableProcessOutputSource;
50
60
  //# sourceMappingURL=attach-log-sources.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attach-log-sources.d.ts","sourceRoot":"","sources":["../src/attach-log-sources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAS,KAAK,8BAA8B,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC/G,OAAO,EAAwC,KAAK,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAEtH,gIAAgI;AAChI,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,KAAK,8BAA8B,CAAC;AAE9I,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,qFAAqF;IACrF,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,iFAAiF;IACjF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAsFD,oFAAoF;AACpF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,GAAG,mBAAmB,CAYzH;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,GAAG,mBAAmB,CAarH"}
1
+ {"version":3,"file":"attach-log-sources.d.ts","sourceRoot":"","sources":["../src/attach-log-sources.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAS,KAAK,8BAA8B,EAAE,KAAK,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAE/G,OAAO,EAAwC,KAAK,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAEtH,gIAAgI;AAChI,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,wBAAwB,KAAK,8BAA8B,CAAC;AAE9I,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,qFAAqF;IACrF,QAAQ,CAAC,UAAU,EAAE,MAAM,OAAO,CAAC;IACnC,qFAAqF;IACrF,QAAQ,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC;IAClC,iFAAiF;IACjF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,6BAA8B,SAAQ,mBAAmB;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B;AA0LD,oFAAoF;AACpF,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,GAAG,6BAA6B,CAKnI;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,GAAG,6BAA6B,CAM/H;AAED,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,4BAA4B,GAAG,6BAA6B,CAKnI;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,yBAAyB,EAAE,OAAO,EAAE,4BAA4B,GAAG,6BAA6B,CAoBvJ"}
@@ -25,10 +25,30 @@
25
25
  * `DiscoveredAttachLogSource`'s own doc (`@descryy/runtime-contracts`).
26
26
  */
27
27
  import { spawn } from "node:child_process";
28
+ import { StringDecoder } from "node:string_decoder";
28
29
  import { LineSplitter } from "@descryy/runtime-backend-observation";
30
+ const QUEUE_HIGH_WATER_CHARS = 1024 * 1024;
31
+ const QUEUE_LOW_WATER_CHARS = 256 * 1024;
32
+ const WATCHDOG_MIN_INTERVAL_MS = 250;
33
+ const SAFE_IDENTIFIER = /^[A-Za-z0-9_@][A-Za-z0-9_.:@\\-]*$/;
34
+ function assertSafeIdentifier(kind, value) {
35
+ if (typeof value !== "string" || !SAFE_IDENTIFIER.test(value)) {
36
+ throw new Error(`attach log source: ${kind} ${JSON.stringify(value)} is not a valid identifier (letters, digits and . _ : @ - only, not starting with "-"), so it was not passed to a command line`);
37
+ }
38
+ }
29
39
  const DEFAULT_POLL_INTERVAL_MS = 50;
30
40
  /** After the follower is killed, how long to wait for its `close` before ending anyway. */
31
41
  const CLOSE_GRACE_MS = 2_000;
42
+ const RECENT_OUTPUT_CHARS = 600;
43
+ function followerFailure(label, spawnError, exit, recent) {
44
+ if (spawnError !== null)
45
+ return `could not run ${label}: ${spawnError.message}`;
46
+ if (exit === null || exit.code === 0)
47
+ return null;
48
+ const how = exit.code === null ? `on ${String(exit.signal)}` : String(exit.code);
49
+ const lastOutput = recent.trim().split("\n").slice(-3).join(" | ");
50
+ return `${label} exited ${how} while following the logs${lastOutput === "" ? "" : `: ${lastOutput}`}; nothing after that point was observed`;
51
+ }
32
52
  /**
33
53
  * Merges a child process's stdout and stderr into one line stream, in
34
54
  * arrival order (no true cross-stream ordering guarantee -- the same
@@ -36,13 +56,21 @@ const CLOSE_GRACE_MS = 2_000;
36
56
  * already states for `ManagedProcess`). Spawns on first read; ends when the
37
57
  * child closes, or once `isFinished()` is true (killing the child first).
38
58
  */
39
- async function* tailChildProcessLines(start, isFinished, pollIntervalMs) {
59
+ async function* tailChildProcessLines(label, start, isFinished, pollIntervalMs, handle) {
60
+ if (handle.disposed)
61
+ return;
40
62
  const child = start();
63
+ handle.child = child;
41
64
  const splitter = new LineSplitter();
42
65
  const queue = [];
66
+ let queuedChars = 0;
67
+ let paused = false;
43
68
  let waiter = null;
44
69
  let done = false;
45
70
  let killedAt = null;
71
+ let spawnError = null;
72
+ let exit = null;
73
+ let recent = "";
46
74
  function wake() {
47
75
  if (waiter !== null) {
48
76
  const resolve = waiter;
@@ -50,25 +78,65 @@ async function* tailChildProcessLines(start, isFinished, pollIntervalMs) {
50
78
  resolve();
51
79
  }
52
80
  }
53
- function onChunk(chunk) {
54
- queue.push(chunk.toString("utf8"));
81
+ function enqueue(text) {
82
+ if (text === "")
83
+ return;
84
+ recent = (recent + text).slice(-RECENT_OUTPUT_CHARS);
85
+ queue.push(text);
86
+ queuedChars += text.length;
87
+ if (!paused && queuedChars > QUEUE_HIGH_WATER_CHARS) {
88
+ paused = true;
89
+ child.stdout.pause();
90
+ child.stderr.pause();
91
+ }
55
92
  wake();
56
93
  }
57
- function onDone() {
94
+ function releaseBackpressure() {
95
+ if (paused && queuedChars < QUEUE_LOW_WATER_CHARS) {
96
+ paused = false;
97
+ child.stdout.resume();
98
+ child.stderr.resume();
99
+ }
100
+ }
101
+ function onChunkFrom(decoder) {
102
+ return (chunk) => enqueue(decoder.write(chunk));
103
+ }
104
+ function onClose(code, signal) {
105
+ exit = { code, signal };
58
106
  done = true;
59
107
  wake();
60
108
  }
61
- child.stdout.on("data", onChunk);
62
- child.stderr.on("data", onChunk);
63
- child.once("close", onDone);
64
- // A killed/failed child surfaces as an 'error' event too -- swallowed here
65
- // because 'close' (which always follows) is this generator's real end
66
- // signal, and an unhandled 'error' event would otherwise crash the process.
67
- child.on("error", () => undefined);
109
+ function stopFollower() {
110
+ if (killedAt === null)
111
+ killedAt = Date.now();
112
+ if (child.exitCode === null && child.signalCode === null)
113
+ child.kill();
114
+ }
115
+ const stdoutDecoder = new StringDecoder("utf8");
116
+ const stderrDecoder = new StringDecoder("utf8");
117
+ const onStdout = onChunkFrom(stdoutDecoder);
118
+ const onStderr = onChunkFrom(stderrDecoder);
119
+ child.stdout.on("data", onStdout);
120
+ child.stderr.on("data", onStderr);
121
+ child.stdout.once("end", () => enqueue(stdoutDecoder.end()));
122
+ child.stderr.once("end", () => enqueue(stderrDecoder.end()));
123
+ child.once("close", onClose);
124
+ child.on("error", (error) => {
125
+ spawnError ??= error;
126
+ done = true;
127
+ wake();
128
+ });
129
+ const watchdog = setInterval(() => {
130
+ if (handle.disposed || isFinished())
131
+ stopFollower();
132
+ }, Math.max(pollIntervalMs, WATCHDOG_MIN_INTERVAL_MS));
133
+ watchdog.unref();
68
134
  try {
69
135
  for (;;) {
70
136
  while (queue.length > 0) {
71
137
  const chunk = queue.shift();
138
+ queuedChars -= chunk.length;
139
+ releaseBackpressure();
72
140
  const observedAt = new Date().toISOString();
73
141
  for (const text of splitter.push(chunk)) {
74
142
  yield { text, stream: "combined", observedAt };
@@ -78,11 +146,15 @@ async function* tailChildProcessLines(start, isFinished, pollIntervalMs) {
78
146
  const observedAt = new Date().toISOString();
79
147
  for (const text of splitter.flush())
80
148
  yield { text, stream: "combined", observedAt };
149
+ if (killedAt !== null)
150
+ return;
151
+ const failure = followerFailure(label, spawnError, exit, recent);
152
+ if (failure !== null)
153
+ throw new Error(failure);
81
154
  return;
82
155
  }
83
- if (killedAt === null && isFinished()) {
84
- killedAt = Date.now();
85
- child.kill();
156
+ if (killedAt === null && (handle.disposed || isFinished())) {
157
+ stopFollower();
86
158
  continue;
87
159
  }
88
160
  await new Promise((resolve) => {
@@ -98,35 +170,69 @@ async function* tailChildProcessLines(start, isFinished, pollIntervalMs) {
98
170
  }
99
171
  }
100
172
  finally {
101
- child.stdout.off("data", onChunk);
102
- child.stderr.off("data", onChunk);
173
+ clearInterval(watchdog);
174
+ child.stdout.off("data", onStdout);
175
+ child.stderr.off("data", onStderr);
103
176
  if (child.exitCode === null && child.signalCode === null)
104
177
  child.kill();
178
+ child.stdout.destroy();
179
+ child.stderr.destroy();
105
180
  }
106
181
  }
107
- /** `docker logs -f --since <attachedAt> <container>` as a `ProcessOutputSource`. */
108
- export function createDockerAttachLogSource(container, options) {
109
- const attachedAt = options.attachedAt ?? new Date();
110
- const spawnFn = options.spawnFn ?? spawn;
182
+ function followerSource(options, label, start) {
183
+ const handle = { child: null, disposed: false };
111
184
  return {
112
185
  processId: options.processId,
113
186
  serviceName: options.serviceName,
114
- lines: tailChildProcessLines(() => spawnFn("docker", ["logs", "-f", "--since", attachedAt.toISOString(), container]), options.isFinished, options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS),
187
+ lines: tailChildProcessLines(label, start, options.isFinished, options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS, handle),
188
+ dispose: () => {
189
+ handle.disposed = true;
190
+ handle.child?.kill();
191
+ },
115
192
  };
116
193
  }
194
+ /** `docker logs -f --since <attachedAt> <container>` as a `ProcessOutputSource`. */
195
+ export function createDockerAttachLogSource(container, options) {
196
+ assertSafeIdentifier("docker container", container);
197
+ const attachedAt = options.attachedAt ?? new Date();
198
+ const spawnFn = options.spawnFn ?? spawn;
199
+ return followerSource(options, "docker logs", () => spawnFn("docker", ["logs", "-f", "--since", attachedAt.toISOString(), "--", container]));
200
+ }
117
201
  /**
118
202
  * `journalctl -f -o cat -u <unit> --since @<seconds>` as a `ProcessOutputSource`.
119
203
  * `-o cat` prints the message body only, matching a plain log line's shape
120
204
  * rather than journald's own structured record.
121
205
  */
122
206
  export function createSystemdAttachLogSource(unit, options) {
207
+ assertSafeIdentifier("systemd unit", unit);
123
208
  const attachedAt = options.attachedAt ?? new Date();
124
209
  const spawnFn = options.spawnFn ?? spawn;
125
210
  const since = `@${String(Math.ceil(attachedAt.getTime() / 1000))}`;
126
- return {
127
- processId: options.processId,
128
- serviceName: options.serviceName,
129
- lines: tailChildProcessLines(() => spawnFn("journalctl", ["-f", "-o", "cat", "-u", unit, "--since", since]), options.isFinished, options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS),
130
- };
211
+ return followerSource(options, "journalctl", () => spawnFn("journalctl", ["-f", "-o", "cat", "-u", unit, "--since", since]));
212
+ }
213
+ export function createPodmanAttachLogSource(container, options) {
214
+ assertSafeIdentifier("podman container", container);
215
+ const attachedAt = options.attachedAt ?? new Date();
216
+ const spawnFn = options.spawnFn ?? spawn;
217
+ return followerSource(options, "podman logs", () => spawnFn("podman", ["logs", "-f", "--since", attachedAt.toISOString(), "--", container]));
218
+ }
219
+ export function createKubernetesAttachLogSource(target, options) {
220
+ assertSafeIdentifier("kubernetes namespace", target.namespace);
221
+ assertSafeIdentifier("kubernetes pod", target.pod);
222
+ assertSafeIdentifier("kubernetes container", target.container);
223
+ const attachedAt = options.attachedAt ?? new Date();
224
+ const spawnFn = options.spawnFn ?? spawn;
225
+ return followerSource(options, "kubectl logs", () => spawnFn("kubectl", [
226
+ "logs",
227
+ "-f",
228
+ "--namespace",
229
+ target.namespace,
230
+ "--container",
231
+ target.container,
232
+ "--since-time",
233
+ attachedAt.toISOString(),
234
+ "--",
235
+ target.pod,
236
+ ]));
131
237
  }
132
238
  //# sourceMappingURL=attach-log-sources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attach-log-sources.js","sourceRoot":"","sources":["../src/attach-log-sources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attach-log-sources.js","sourceRoot":"","sources":["../src/attach-log-sources.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"attach-to-running-jvm-process.d.ts","sourceRoot":"","sources":["../src/attach-to-running-jvm-process.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAyF,MAAM,4BAA4B,CAAC;AAMnJ,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+IAA+I;IAC/I,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iLAAiL;IACjL,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,iEAAiE;IACjE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;KACnC,CAAC;CACH;AAoLD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,SAAS,CA0N9F"}
1
+ {"version":3,"file":"attach-to-running-jvm-process.d.ts","sourceRoot":"","sources":["../src/attach-to-running-jvm-process.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AASH,OAAO,KAAK,EAAE,SAAS,EAAyF,MAAM,4BAA4B,CAAC;AA+BnJ,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,+IAA+I;IAC/I,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,iLAAiL;IACjL,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,iEAAiE;IACjE,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE;QACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;KACnC,CAAC;CACH;AAqND;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,gCAAgC,GAAG,SAAS,CA2P9F"}
@@ -34,13 +34,42 @@
34
34
  * `Attacher.java` once (mtime-cached) and this module spawns it as a short-lived
35
35
  * `java` child process.
36
36
  */
37
- import { existsSync, mkdtempSync, readFileSync, writeFileSync, rmSync } from "node:fs";
37
+ import { existsSync, mkdtempSync, writeFileSync, rmSync } from "node:fs";
38
+ import { open } from "node:fs/promises";
39
+ import { StringDecoder } from "node:string_decoder";
38
40
  import { tmpdir } from "node:os";
39
41
  import { join } from "node:path";
40
- import { spawnSync } from "node:child_process";
42
+ import { execFile } from "node:child_process";
41
43
  import { isProcessAlive } from "./attach-to-running-process.js";
42
44
  import { buildJvmAgentJar, buildAttacherClass, findToolsJarIfPresent } from "./jvm-agent/build.js";
43
45
  import { COLLECTOR_VERSION } from "./collector-version.js";
46
+ const EVENT_READ_CHUNK_BYTES = 1024 * 1024;
47
+ const PS_TIMEOUT_MS = 5_000;
48
+ const ATTACHER_OUTPUT_LIMIT_BYTES = 4 * 1024 * 1024;
49
+ function invalidTargetPidReason(pid) {
50
+ if (!Number.isSafeInteger(pid))
51
+ return `${String(pid)} is not a whole number`;
52
+ if (pid < 2)
53
+ return `${String(pid)} is not a process this session may attach to (0 and negative values address process groups, 1 is init)`;
54
+ if (pid === process.pid || pid === process.ppid)
55
+ return `pid ${String(pid)} is this process or its parent, which must never be the target of an attach`;
56
+ return null;
57
+ }
58
+ async function readAppended(path, offset) {
59
+ const handle = await open(path, "r");
60
+ try {
61
+ const { size } = await handle.stat();
62
+ if (size <= offset)
63
+ return Buffer.alloc(0);
64
+ const length = Math.min(size - offset, EVENT_READ_CHUNK_BYTES);
65
+ const buffer = Buffer.allocUnsafe(length);
66
+ const { bytesRead } = await handle.read(buffer, 0, length, offset);
67
+ return buffer.subarray(0, bytesRead);
68
+ }
69
+ finally {
70
+ await handle.close();
71
+ }
72
+ }
44
73
  /**
45
74
  * Reconstructs a repo-relative source path from a JVM frame's fully-qualified
46
75
  * declaring class name and basename, or `null` when it can't be done exactly
@@ -129,14 +158,25 @@ function frameToStackFrame(frame, sourceRoots) {
129
158
  * wastes a real attempt for a confusing downstream failure instead of a clear
130
159
  * refusal here. `ps`, not `/proc`, for the same Linux/macOS portability reason.
131
160
  */
132
- function verifyLikelyJvmProcess(pid) {
133
- const result = spawnSync("ps", ["-o", "comm=", "-p", String(pid)], { encoding: "utf8" });
134
- const comm = (result.stdout ?? "").trim().split("\n")[0]?.trim().toLowerCase();
135
- if (result.status !== 0 || comm === undefined || comm === "") {
136
- return { ok: false, reason: `could not verify pid ${String(pid)}'s command via ps (exit ${String(result.status)}) — refusing to attempt a JVM attach against a process this module cannot confirm the identity of` };
161
+ async function verifyLikelyJvmProcess(pid) {
162
+ let comm;
163
+ let failure = null;
164
+ try {
165
+ comm = await new Promise((resolve, reject) => {
166
+ execFile("ps", ["-o", "comm=", "-p", String(pid)], { encoding: "utf8", timeout: PS_TIMEOUT_MS }, (error, stdout) => {
167
+ if (error !== null)
168
+ reject(error);
169
+ else
170
+ resolve(stdout.trim().split("\n")[0]?.trim().toLowerCase() ?? "");
171
+ });
172
+ });
173
+ }
174
+ catch (error) {
175
+ failure = error instanceof Error ? error.message : String(error);
176
+ }
177
+ if (failure !== null || comm === undefined || comm === "") {
178
+ return { ok: false, reason: `could not verify pid ${String(pid)}'s command via ps (${failure ?? "ps printed nothing"}) — refusing to attempt a JVM attach against a process this module cannot confirm the identity of` };
137
179
  }
138
- // covers "java", "javaw", and "java (someapp)" truncation -- allowlists the
139
- // launcher, never app names
140
180
  if (!comm.includes("java")) {
141
181
  return { ok: false, reason: `pid ${String(pid)}'s command is "${comm}", which does not look like a JVM — refusing to attempt a Dynamic Attach against a process that is unlikely to have one` };
142
182
  }
@@ -167,21 +207,36 @@ const CAPABILITIES = {
167
207
  * exits 0 (attach + loadAgent both succeeded); rejects with the helper's own
168
208
  * stderr otherwise — never guesses at success from silence.
169
209
  */
170
- function runAttacher(pid, agentJarPath, outputFilePath, attacherDir, attachTimeoutMs) {
171
- const toolsJar = findToolsJarIfPresent();
172
- const classpath = toolsJar !== null ? `${attacherDir}:${toolsJar}` : attacherDir;
173
- const result = spawnSync("java", ["-cp", classpath, "Attacher", String(pid), agentJarPath, outputFilePath], {
174
- encoding: "utf8",
175
- timeout: attachTimeoutMs,
176
- });
177
- if (result.error !== undefined) {
178
- return { ok: false, reason: `attachToRunningJvmProcess: could not launch the java Attacher helper: ${result.error.message}` };
210
+ async function runAttacher(pid, agentJarPath, outputFilePath, attacherDir, attachTimeoutMs) {
211
+ let toolsJar;
212
+ try {
213
+ toolsJar = await findToolsJarIfPresent();
179
214
  }
180
- if (result.status !== 0) {
181
- const detail = (result.stderr ?? "").trim() || (result.stdout ?? "").trim() || `exit code ${String(result.status)}`;
182
- return { ok: false, reason: `attachToRunningJvmProcess: Attacher failed to attach to pid ${String(pid)}: ${detail}` };
215
+ catch (error) {
216
+ return { ok: false, reason: `attachToRunningJvmProcess: ${error instanceof Error ? error.message : String(error)}` };
183
217
  }
184
- return { ok: true };
218
+ const classpath = toolsJar !== null ? `${attacherDir}:${toolsJar}` : attacherDir;
219
+ return new Promise((resolve) => {
220
+ execFile("java", ["-cp", classpath, "Attacher", String(pid), agentJarPath, outputFilePath], { encoding: "utf8", timeout: attachTimeoutMs, maxBuffer: ATTACHER_OUTPUT_LIMIT_BYTES }, (error, stdout, stderr) => {
221
+ if (error === null) {
222
+ resolve({ ok: true });
223
+ return;
224
+ }
225
+ const code = error.code;
226
+ if (typeof code !== "number") {
227
+ const timedOut = error.killed === true;
228
+ resolve({
229
+ ok: false,
230
+ reason: timedOut
231
+ ? `attachToRunningJvmProcess: the java Attacher helper did not finish within ${String(attachTimeoutMs)} ms and was stopped`
232
+ : `attachToRunningJvmProcess: could not launch the java Attacher helper: ${error.message}`,
233
+ });
234
+ return;
235
+ }
236
+ const detail = stderr.trim() || stdout.trim() || `exit code ${String(code)}`;
237
+ resolve({ ok: false, reason: `attachToRunningJvmProcess: Attacher failed to attach to pid ${String(pid)}: ${detail}` });
238
+ });
239
+ });
185
240
  }
186
241
  /**
187
242
  * Attach to an already-running JVM process via the HotSpot Dynamic Attach
@@ -232,6 +287,10 @@ export function attachToRunningJvmProcess(options) {
232
287
  collectorId: `attach-jvm-agent:${options.processId}`,
233
288
  async start(context) {
234
289
  capturedContext = context;
290
+ const invalidPid = invalidTargetPidReason(options.pid);
291
+ if (invalidPid !== null) {
292
+ return { available: false, reason: `attachToRunningJvmProcess: ${invalidPid}.` };
293
+ }
235
294
  if (!isProcessAlive(options.pid)) {
236
295
  return { available: false, reason: `attachToRunningJvmProcess: pid ${String(options.pid)} is not running — cannot attach to a target that does not exist.` };
237
296
  }
@@ -241,7 +300,7 @@ export function attachToRunningJvmProcess(options) {
241
300
  // A-F10: checked before spawning the Attacher helper, not after —
242
301
  // see verifyLikelyJvmProcess's own doc for why this is a lighter check
243
302
  // than the Node sibling's (the OS already enforces same-uid here).
244
- const identity = verifyLikelyJvmProcess(options.pid);
303
+ const identity = await verifyLikelyJvmProcess(options.pid);
245
304
  if (!identity.ok) {
246
305
  return { available: false, reason: `attachToRunningJvmProcess: ${identity.reason}.` };
247
306
  }
@@ -249,17 +308,25 @@ export function attachToRunningJvmProcess(options) {
249
308
  let attacherDir;
250
309
  try {
251
310
  agentJarPath = await buildJvmAgentJar();
252
- attacherDir = buildAttacherClass();
311
+ attacherDir = await buildAttacherClass();
253
312
  }
254
313
  catch (error) {
255
314
  return { available: false, reason: error instanceof Error ? error.message : String(error) };
256
315
  }
257
316
  const dir = mkdtempSync(join(tmpdir(), "descry-jvm-attach-"));
258
317
  const outFile = join(dir, "events.log");
259
- writeFileSync(outFile, "");
260
318
  const attachTimeoutMs = options.attachTimeoutMs ?? 10_000;
261
- const attachResult = runAttacher(options.pid, agentJarPath, outFile, attacherDir, attachTimeoutMs);
319
+ let attachResult;
320
+ try {
321
+ writeFileSync(outFile, "");
322
+ attachResult = await runAttacher(options.pid, agentJarPath, outFile, attacherDir, attachTimeoutMs);
323
+ }
324
+ catch (error) {
325
+ rmSync(dir, { recursive: true, force: true });
326
+ return { available: false, reason: error instanceof Error ? error.message : String(error) };
327
+ }
262
328
  if (!attachResult.ok) {
329
+ rmSync(dir, { recursive: true, force: true });
263
330
  return { available: false, reason: attachResult.reason };
264
331
  }
265
332
  // A-F8: recorded so stop() can run the same Attacher helper a second
@@ -268,19 +335,45 @@ export function attachToRunningJvmProcess(options) {
268
335
  attached = { agentJarPath, attacherDir, outFile, dir, attachTimeoutMs };
269
336
  const pollIntervalMs = options.pollIntervalMs ?? 50;
270
337
  let consumed = 0;
338
+ let pendingLine = "";
339
+ const eventDecoder = new StringDecoder("utf8");
340
+ const reportedPollFailures = new Set();
341
+ const reportPollFailure = (error) => {
342
+ const message = error instanceof Error ? error.message : String(error);
343
+ if (reportedPollFailures.has(message))
344
+ return;
345
+ reportedPollFailures.add(message);
346
+ try {
347
+ emitCollectorError(`attachToRunningJvmProcess: reading the target's event file failed (${message}); evidence written while this persists is not captured.`);
348
+ }
349
+ catch {
350
+ return;
351
+ }
352
+ };
271
353
  const poll = async () => {
272
354
  for (;;) {
273
355
  if (stopped)
274
356
  return;
275
- if (!existsSync(outFile)) {
276
- await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
277
- continue;
357
+ try {
358
+ await pollOnce();
278
359
  }
279
- const whole = readFileSync(outFile, "utf8");
280
- if (whole.length > consumed) {
281
- const chunk = whole.slice(consumed);
282
- consumed = whole.length;
283
- for (const rawLine of chunk.split("\n")) {
360
+ catch (error) {
361
+ reportPollFailure(error);
362
+ }
363
+ await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
364
+ }
365
+ };
366
+ const pollOnce = async () => {
367
+ {
368
+ if (!existsSync(outFile))
369
+ return;
370
+ const appended = await readAppended(outFile, consumed);
371
+ if (appended.length > 0) {
372
+ consumed += appended.length;
373
+ const chunk = pendingLine + eventDecoder.write(appended);
374
+ const lines = chunk.split("\n");
375
+ pendingLine = lines.pop() ?? "";
376
+ for (const rawLine of lines) {
284
377
  const line = rawLine.trim();
285
378
  if (line === "")
286
379
  continue;
@@ -341,10 +434,9 @@ export function attachToRunningJvmProcess(options) {
341
434
  // being parsed, not turned into evidence.
342
435
  }
343
436
  }
344
- await new Promise((resolve) => setTimeout(resolve, pollIntervalMs));
345
437
  }
346
438
  };
347
- void poll();
439
+ void poll().catch(reportPollFailure);
348
440
  return { available: true };
349
441
  },
350
442
  /**
@@ -378,7 +470,7 @@ export function attachToRunningJvmProcess(options) {
378
470
  return;
379
471
  }
380
472
  if (isProcessAlive(options.pid)) {
381
- const detachAttempt = runAttacher(options.pid, state.agentJarPath, DETACH_COMMAND, state.attacherDir, state.attachTimeoutMs);
473
+ const detachAttempt = await runAttacher(options.pid, state.agentJarPath, DETACH_COMMAND, state.attacherDir, state.attachTimeoutMs);
382
474
  if (detachAttempt.ok) {
383
475
  const deadline = Date.now() + Math.min(state.attachTimeoutMs, 5000);
384
476
  while (!detachConfirmed && Date.now() < deadline) {
@@ -1 +1 @@
1
- {"version":3,"file":"attach-to-running-jvm-process.js","sourceRoot":"","sources":["../src/attach-to-running-jvm-process.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attach-to-running-jvm-process.js","sourceRoot":"","sources":["../src/attach-to-running-jvm-process.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,7 @@ export interface AttachToRunningNodeProcessOptions {
49
49
  readonly discoveryPort?: number;
50
50
  /** How long to poll the discovery endpoint after sending SIGUSR1 before giving up. The inspector does not bind instantaneously. */
51
51
  readonly discoveryTimeoutMs?: number;
52
+ readonly allowUnverifiedInspectorOwner?: boolean;
52
53
  }
53
54
  /**
54
55
  * Sends `SIGUSR1` to `pid`, then polls `http://<host>:<port>/json` until the
@@ -63,6 +64,7 @@ export declare function discoverNodeInspectorUrl(pid: number, options?: {
63
64
  readonly host?: string;
64
65
  readonly port?: number;
65
66
  readonly timeoutMs?: number;
67
+ readonly allowUnverifiedOwner?: boolean;
66
68
  }): Promise<string>;
67
69
  /**
68
70
  * Attach to an already-running Node process via `SIGUSR1` + CDP, capturing